(function(){if(!Ext)return;if(!Ext.util.JSON)Ext.util.JSON=Ext.JSON;function createDelegationMethod(object,method){return function(){var args=[this];if(arguments.length>0)args.push.apply(args,arguments);return object[method].apply(object,args)}}if(Ext.Function&&!Function.prototype.defer){Function.prototype.createDelegate=createDelegationMethod(Ext.Function,"bind");Function.prototype.defer=createDelegationMethod(Ext.Function,"defer")}if(!String.format&&Ext.String)String.format=Ext.String.format;if(!Date.prototype.format&& Ext.Date)Date.prototype.format=createDelegationMethod(Ext.Date,"format");if(!Ext.TaskManager)Ext.TaskManager=Ext.TaskMgr;if(Ext.versions&&Ext.versions.core&&Ext.versions.core.major>=4){Ext.reg=Ext.emptyFn;Ext.data.Store.superclass.recordType=function(r){return r}}else{var cmp_map={"Ext.form.Panel":"Ext.form.FormPanel","Ext.grid.Panel":"Ext.grid.GridPanel","Ext.tree.Panel":"Ext.tree.TreePanel","Ext.panel.Panel":"Ext.Panel","Ext.tab.Panel":"Ext.TabPanel"};var postponed=[];var getObject=function(name, autons){if(!name)return null;var ns=name.split(".");var base=window;for(var i=0;i=0){var rec=this.redirectsStore.getAt(n);rec.set("params",params?params:{});rec.set("route",route?route:"default")}else this.redirectsStore.add(new this.redirectsStore.recordType({"resource":resource?resource:"","role":role?role:"","params":params?params:{},"route":route?route:"default"}))},getErrorRedirect:function(role,resource,app){var r=this.findRole(role),baseRole=r?r.baseRole:null,findFn=function(r,res){if(!r)r= "";if(!res)res="";var idx=this.redirectsStore.findBy(function(rec){return rec.get("resource")==res&&rec.get("role")==r});if(idx!=-1)return this.redirectsStore.getAt(idx);else return false}.createDelegate(this,[],true),routeFn=function(redir){if(!app)app=Main.app;return app.route(redir.get("params"),redir.get("router"))},redir=null;redir=findFn(role,resource);if(!redir&&baseRole)redir=findFn(baseRole,resource);if(redir)return routeFn(redir);else{redir=findFn(role);if(!redir&&baseRole)redir=findFn(baseRole); if(redir)return routeFn(redir);else{redir=findFn();if(redir)return routeFn(redir);else return""}}},hasAccess:function(role,resource){var r=this.findRole(role),baseRole=r?r.baseRole:null,findFn=function(r,res){if(!r)r="";if(!res)res="";var idx=this.rulesStore.findBy(function(rec){return rec.get("resource")==res&&rec.get("role")==r});if(idx!=-1)return this.rulesStore.getAt(idx);else return false}.createDelegate(this,[],true),rule=null;rule=findFn(role,resource);if(!rule&&baseRole)rule=findFn(baseRole, resource);if(rule)return rule.get("action")=="allow";else{rule=findFn(role);if(!rule&&baseRole)rule=findFn(baseRole);if(rule)return rule.get("action")=="allow";else{rule=findFn();if(rule)return rule.get("action")=="allow";else return false}}},allow:function(role,resource){this.rulesStore.add(new this.rulesStore.recordType({"resource":resource?resource:"","role":role?role:"","action":"allow"}))},deny:function(role,resource){this.rulesStore.add(new this.rulesStore.recordType({"resource":resource?resource: "","role":role?role:"","action":"deny"}))},reset:function(){this.rulesStore.clearData()}});Application.Dispatcher=Ext.extend(Ext.util.Observable,{constructor:function(config){Ext.apply(this,config);Application.Dispatcher.superclass.constructor.call(this,config)},dispatch:function(token){var params=this.app.router.parse(token);var moduleName="defaultModule";if(params.module)moduleName=params.module+"Module";if(!this.app.controllers[moduleName]){moduleName="defaultModule";params.action=params.controller;params.controller=params.module;params.module="default"}if(params&&moduleName!=""&¶ms.controller&& params.action&&this.app.controllers[moduleName][params.controller]){var role=this.app.auth.data.role,resource=String.format("{0}/{1}",params.controller,params.action);if(moduleName!="defaultModule")resource=String.format("{0}/{1}/{2}",params.module,params.controller,params.action);if(this.app.acl.hasAccess(role,resource)){this.app.controllers[moduleName][params.controller].dispatch(params.action,params,this.lastResource===resource);this.lastResource=resource}else this.app.forward(this.app.acl.getErrorRedirect(role, resource,this.app))}}});Application.Identity=Ext.extend(Ext.util.Observable,{loggedIn:false,data:{role:"guest",login:null},constructor:function(config){Ext.apply(this,config);Application.Identity.superclass.constructor.call(this,config);this.sm=this.sessionManager;this.setData({role:this.sm.get("role","guest"),login:this.sm.get("login","guest")});this.loggedIn=this.data.role!="guest";this.updateMenu()},setData:function(data){Ext.apply(this.data,data);for(var p in this.data)this.sm.set(p,this.data[p])},login:function(data){this.setData(Ext.apply(data, {role:"user"}));this.loggedIn=true;this.updateMenu()},logout:function(){this.setData({role:"guest",login:"guest"});this.loggedIn=false;this.updateMenu()},getLogged:function(){return this.loggedIn},setLogged:function(logged){this.loggedIn=logged},getRole:function(){return this.data.role},updateMenu:function(){Main.layout.root.fireEvent("rolechanged",this.data,Application)}});Application.Locale={lang:"ru",localizableProps:["qtip","text","html","title","header","fieldLabel"],localeData:{en:{}},setLang:function(lang){this.lang=lang},translate:function(prop,value){if(this.localeData[this.lang]&&this.localeData[this.lang][value]&&this.localizableProps.indexOf(prop)!=-1)return this.localeData[this.lang][value];else return value}};window.__=function(value){return Application.Locale.translate("text",value)};Application.Router=Ext.extend(Ext.util.Observable,{routes:{},constructor:function(config){Ext.apply(this,config);Application.Router.superclass.constructor.call(this,config);this.initRoutes()},initRoutes:function(){this.addRoute(new Application.Router.Route("default",":controller/:action/*",{"module":"default","controller":"\\w*","action":"\\w*"},"low"));this.addRoute(new Application.Router.Route("index","",{"module":"default","controller":"front","action":"index"},"low"));this.addRoute(new Application.Router.Route("default-nocontroller", ":action/*",{"module":"default","controller":"front","action":"\\w*"},"low"))},addRoute:function(router){this.routes[router.getName()]=router},parse:function(token){var params=false,eachFn=function(priority){for(var route in this.routes){if(this.routes[route].priority==priority)params=this.routes[route].parse(token);if(params)break}}.createDelegate(this,[],true);eachFn("high");if(!params)eachFn("low");return params},route:function(params,route){if(!route)route="default";if(this.routes[route])return this.routes[route].route(params); else return""}});Application.Utils={arraySearch:function(array,fn,scope){var itm=null;Ext.each(array,function(item,index,allItems){if(fn.createDelegate(this,[item,index,allItems]).call())itm=item},scope);return itm}};Application.Acl.Resource=Ext.extend(Object,{constructor:function(name,config){this.name=name;if(config)Ext.apply(this,config)}});Application.Acl.Role=Ext.extend(Object,{constructor:function(name,baseRole){this.name=name;this.baseRole=baseRole}});Application.Router.Route=Ext.extend(Object,{constructor:function(name,path,params,priority){this.name=name;this.path=path;this.params=params;this.priority=priority||"high"},getName:function(){return this.name},parse:function(token){var params={},pathRe=this.path,param,reMasks={},i=0,m=null,addParams=null;for(param in this.params)if(this.path.indexOf(":"+param)!=-1){i++;reMasks[param]=i;pathRe=pathRe.replace(":"+param,String.format("({0})",this.params[param]))}pathRe="^"+pathRe.replace("/*","(.*)")+ "$";if(m=(new RegExp(pathRe)).exec(token)){Ext.apply(params,this.params);for(param in reMasks)params[param]=m[reMasks[param]];if(m[i+1]){addParams=m[i+1].replace(/^\//,"").replace(/\/$/,"").split("/");if(addParams){var len=0;for(i=0,len=Math.floor(addParams.length/2);i0)Ext.each(this.toolbars,function(tb){tb.un("afterlayout",this.syncHeight,this);tb.un("remove",this.syncHeight,this)},this);if(Ext.isArray(this.buttons))while(this.buttons.length)Ext.destroy(this.buttons[0]);if(this.rendered){Ext.destroy(this.ft, this.header,this.footer,this.toolbars,this.tbar,this.bbar,this.body,this.mc,this.bwrap);if(this.fbar)Ext.destroy(this.fbar,this.fbar.el)}else Ext.destroy(this.topToolbar,this.bottomToolbar)}});Ext.override(Ext.form.DateField,{altFormats:"c|m/d/Y|n/j/Y|n/j/y|m/j/y|n/d/y|m/j/Y|n/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d|n-j|n/j"}); Ext.data.JsonStore=Ext.extend(Ext.data.Store,{constructor:function(config){Ext.data.JsonStore.superclass.constructor.call(this,Ext.apply(config,{reader:new Ext.data.JsonReader(config,config.recordType||config.fields)}))}});Ext.reg("jsonstore",Ext.data.JsonStore);Ext.reg("tooltip",Ext.ToolTip); Ext.override(Ext.grid.GridView,{cellTpl:new Ext.Template('','
{value}
',"")});Ext.override(Ext.util.Cookies.clear,function(name){if(Ext.util.Cookies.get(name))document.cookie=name+"="+"; expires=Sat, 01-Jan-2000 00:00:01 GMT"}); Ext.override(Ext.dd.DragTracker,{onMouseMove:function(e,target){if(this.active&&Ext.isIE&&!Ext.isIE9&&!e.browserEvent.button){e.preventDefault();this.onMouseUp(e);return}e.preventDefault();var xy=e.getXY(),s=this.startXY;this.lastXY=xy;if(!this.active)if(Math.abs(s[0]-xy[0])>this.tolerance||Math.abs(s[1]-xy[1])>this.tolerance)this.triggerStart(e);else return;this.fireEvent("mousemove",this,e);this.onDrag(e);this.fireEvent("drag",this,e)}}); Ext.util.TaskRunner=function(interval){interval=interval||10;var tasks=[],removeQueue=[],id=0,running=false,stopThread=function(){running=false;clearInterval(id);id=0},startThread=function(){if(!running){running=true;id=setInterval(runTasks,interval)}},removeTask=function(t){removeQueue.push(t);if(t.onStop)t.onStop.apply(t.scope||t)},runTasks=function(){var rqLen=removeQueue.length,now=(new Date).getTime();if(rqLen>0){for(var i=0;i ");newStep.el=Ext.DomHelper.createDom({tag:"a",cls:"active",html:newStep.title,href:"#"+step.url})}Ext.each(this.data,function(n){Ext.get(n.el).removeClass("active")});this.ct.appendChild(newStep.textEl);this.ct.appendChild(newStep.el);this.data.push(newStep)}});Ext.ns("Ext.ux.grid");Ext.ux.grid.CellToolTips=function(config){var cfgTips;if(Ext.isArray(config)){cfgTips=config;config={}}else cfgTips=config.ajaxTips;Ext.ux.grid.CellToolTips.superclass.constructor.call(this,config);if(config.tipConfig)this.tipConfig=config.tipConfig;this.ajaxTips=cfgTips}; Ext.extend(Ext.ux.grid.CellToolTips,Ext.util.Observable,{version:1.3,ajaxTips:false,tipTpls:false,tipFns:false,tipUrls:"",tipConfig:{},request:false,init:function(grid){if(!this.ajaxTips)return;this.tipTpls={};this.tipFns={};this.tipAfterFns={};this.tipUrls={};Ext.each(this.ajaxTips,function(tip){this.tipTpls[tip.field]=new Ext.XTemplate(tip.tpl);if(tip.url)this.tipUrls[tip.field]=tip.url;if(tip.fn)this.tipFns[tip.field]=tip.fn;if(tip.afterFn)this.tipAfterFns[tip.field]=tip.afterFn;if(tip.tipConfig)this.tipConfig= tip.tipConfig},this);delete this.ajaxTips;grid.on("render",this.onGridRender.createDelegate(this))},setFieldTpl:function(fld,tpl){this.tipTpls[fld]=Ext.isObject(tpl)?tpl:new Ext.XTemplate(tpl)},onGridRender:function(grid){if(!this.tipTpls)return;Ext.apply(this.tipConfig,{target:grid.getView().mainBody,delegate:".x-grid3-cell-inner",renderTo:document.body,finished:false});Ext.applyIf(this.tipConfig,{trackMouse:true});this.tip=new Ext.ToolTip(this.tipConfig);this.tip.ctt=this;this.tip.on("beforeshow", this.beforeTipShow.createDelegate(this.tip,[this,grid],true));this.tip.on("hide",this.hideTip)},beforeTipShow:function(tip,ctt,grid){var colIdx=grid.getView().findCellIndex(tip.triggerElement);var tipId=grid.getColumnModel().getDataIndex(colIdx);if(!ctt.tipTpls[tipId])return false;if(!tip.finished){var isAjaxTip=typeof ctt.tipUrls[tipId]=="string";var rowNum=grid.getView().findRowIndex(tip.triggerElement);var cellRec=grid.getStore().getAt(rowNum);if(grid.CellToolTipCondition&&grid.CellToolTipCondition(rowNum, cellRec)===false)return false;var data=cellRec.copy().data;if(isAjaxTip){ctt.loadDetails(ctt.tipFns[tipId]?ctt.tipFns[tipId](data):data,tip,grid,ctt,tipId);tip.body.dom.innerHTML="Loading..."}else tip.body.dom.innerHTML=ctt.tipTpls[tipId].apply(ctt.tipFns[tipId]?ctt.tipFns[tipId](cellRec.data):cellRec.data)}else tip.body.dom.innerHTML=tip.ctt.tipTpls[tipId].apply(tip.tipdata)},hideTip:function(tip){tip.finished=false},loadDetails:function(data,tip,grid,ctt,tipid){Ext.Ajax.request({url:ctt.tipUrls[tipid], params:data,method:"POST",success:function(resp,opt){tip.finished=true;tip.tipdata=Ext.decode(resp.responseText);if(ctt.tipAfterFns[tipid])tip.tipdata=ctt.tipAfterFns[tipid](tip.tipdata);tip.show()}})}});/* Ext JS Library 3.3.1 Copyright(c) 2006-2010 Sencha Inc. licensing@sencha.com http://www.sencha.com/license */ Ext.ns("Ext.ux.grid");Ext.ns("Ext.ux.grid"); Ext.ux.grid.CheckColumn=Ext.extend(Ext.grid.Column,{initComponent:function(){this.addEvents("checkchange");this.addEvents("beforeedit");Ext.grid.Column.superclass.initComponent.call(this)},processEvent:function(name,e,grid,rowIndex,colIndex){var has_editing=this.fireEvent("beforeedit",rowIndex,grid.store.getAt(rowIndex));if(has_editing&&name=="mousedown"){var record=grid.store.getAt(rowIndex);record.set(this.dataIndex,!record.data[this.dataIndex]);this.fireEvent("checkchange",rowIndex,!record.data[this.dataIndex])}return Ext.grid.ActionColumn.superclass.processEvent.apply(this, arguments)},renderer:function(v,p,record){p.css+=" x-grid3-check-col-td";return String.format('
 
',v?"-on":"")},init:Ext.emptyFn});Ext.preg("checkcolumn",Ext.ux.grid.CheckColumn);Ext.grid.CheckColumn=Ext.ux.grid.CheckColumn;Ext.grid.Column.types.checkcolumn=Ext.ux.grid.CheckColumn;Ext.namespace("Ext.ux.form"); Ext.ux.form.CheckboxCombo=Ext.extend(Ext.form.TriggerField,{defaultAutoCreate:{tag:"input",type:"text",size:"24",autocomplete:"off"},listClass:"",listEmptyText:"",triggerClass:"x-form-arrow-trigger",shadow:"sides",listAlign:"tl-bl?",maxHeight:300,minHeight:90,selectOnFocus:false,editable:false,loadingText:"Loading...",mode:"remote",minListWidth:70,lazyInit:true,submitValue:undefined,initComponent:function(){Ext.ux.form.CheckboxCombo.superclass.initComponent.call(this);this.addEvents("expand","collapse", "change","changeitem","changed");if(this.store){this.store=Ext.StoreMgr.lookup(this.store);if(this.store.autoCreated){this.displayField=this.valueField="field1";if(!this.store.expandData)this.displayField="field2";this.mode="local"}}if(!this.tpl)this.tpl=this.tpl="{"+this.displayField+"}";this.selectedIndex=-1},onRender:function(ct,position){if(this.hiddenName&&!Ext.isDefined(this.submitValue))this.submitValue=false;Ext.ux.form.CheckboxCombo.superclass.onRender.call(this,ct,position);if(this.hiddenName)this.hiddenField= this.el.insertSibling({tag:"input",type:"hidden",name:this.hiddenName,id:this.hiddenId||this.hiddenName},"before",true);if(Ext.isGecko)this.el.dom.setAttribute("autocomplete","off");if(!this.lazyInit)this.initList();else this.on("focus",this.initList,this,{single:true})},initValue:function(){Ext.ux.form.CheckboxCombo.superclass.initValue.call(this);if(this.hiddenField)this.hiddenField.value=Ext.value(Ext.isDefined(this.hiddenValue)?this.hiddenValue:this.value,"")},initList:function(){if(!this.list){var cls= "x-checkboxcombo-list",listParent=Ext.getDom(this.getListParent()||Ext.getBody()),zindex=parseInt(Ext.fly(listParent).getStyle("z-index"),10);if(this.ownerCt&&!zindex)this.findParentBy(function(ct){zindex=parseInt(ct.getPositionEl().getStyle("z-index"),10);return!!zindex});this.list=new Ext.Layer({parentEl:listParent,shadow:this.shadow,cls:[cls,this.listClass].join(" "),constrain:false,zindex:(zindex||12E3)+5});var lw=this.listWidth||Math.max(this.wrap.getWidth(),this.minListWidth);this.list.setWidth(lw); this.list.swallowEvent("mousewheel");this.assetHeight=0;if(this.syncFont!==false)this.list.setStyle("font-size",this.el.getStyle("font-size"));this.innerList=this.list.createChild({cls:cls+"-inner"});this.innerList.setWidth(lw-this.list.getFrameWidth("lr"));this.mon(this.innerList,"mouseover",this.onListOver,this,{delegate:".x-form-item"});this.mon(this.innerList,"mousemove",this.onListMove,this,{delegate:".x-form-item"});this.mon(this.innerList,"click",this.onListClick,this,{delegate:".x-form-item"}); this.bindStore(this.store,true);this.restrictHeight()}},getListParent:function(){return document.body},getStore:function(){return this.store},bindStore:function(store,initial){if(this.store&&!initial){if(this.store!==store&&this.store.autoDestroy)this.store.destroy();else{this.store.un("beforeload",this.onBeforeLoad,this);this.store.un("load",this.onLoad,this);this.store.un("exception",this.collapse,this)}if(!store)this.store=null}if(store){if(!initial)this.lastQuery=null;this.store=Ext.StoreMgr.lookup(store); this.store.on({scope:this,beforeload:this.onBeforeLoad,load:this.onLoad,exception:this.collapse});this.removeCheckboxes();this.addCheckboxes()}},initEvents:function(){Ext.ux.form.CheckboxCombo.superclass.initEvents.call(this);this.keyNav=new Ext.KeyNav(this.el,{"up":function(e){this.inKeyMode=true;this.selectPrev()},"down":function(e){if(!this.isExpanded())this.onTriggerClick();else{this.inKeyMode=true;this.selectNext()}},"enter":function(e){this.onListEnter()},"esc":function(e){this.collapse()}, "tab":function(e){this.collapse();return true},scope:this,doRelay:function(e,h,hname){if(hname=="down"||this.scope.isExpanded()){var relay=Ext.KeyNav.prototype.doRelay.apply(this,arguments);if(!Ext.isIE&&Ext.EventManager.useKeydown)this.scope.fireKey(e);return relay}return true},forceKeyDown:true,defaultEventAction:"stopEvent"});if(!this.enableKeyEvents)this.mon(this.el,"keyup",this.onKeyUp,this)},onDestroy:function(){this.bindStore(null);Ext.destroy(this.resizer,this.cbgroup,this.list);Ext.destroyMembers(this, "hiddenField");Ext.ux.form.CheckboxCombo.superclass.onDestroy.call(this)},fireKey:function(e){if(!this.isExpanded())Ext.ux.form.CheckboxCombo.superclass.fireKey.call(this,e)},onResize:function(w,h){Ext.ux.form.CheckboxCombo.superclass.onResize.apply(this,arguments);if(this.isVisible()&&this.list)this.doResize(w);else this.bufferSize=w},doResize:function(w){if(!Ext.isDefined(this.listWidth)){var lw=Math.max(w,this.minListWidth);this.list.setWidth(lw);this.innerList.setWidth(lw-this.list.getFrameWidth("lr"))}}, onEnable:function(){Ext.ux.form.CheckboxCombo.superclass.onEnable.apply(this,arguments);if(this.hiddenField)this.hiddenField.disabled=false},onDisable:function(){Ext.ux.form.CheckboxCombo.superclass.onDisable.apply(this,arguments);if(this.hiddenField)this.hiddenField.disabled=true},onBeforeLoad:function(){if(!this.hasFocus)return;this.checkboxValues=this.cbgroup.getValue();this.removeCheckboxes()},onLoad:function(){if(!this.hasFocus)return;if(this.checkboxValues)Ext.each(this.checkboxValues,function(v){if(this.valueField){var r= this.findRecord(this.valueField,v.inputValue);if(r)r.checked=true}},this);if(this.store.getCount()>0||this.listEmptyText){this.addCheckboxes();this.expand();this.restrictHeight()}else this.collapse()},getName:function(){var hf=this.hiddenField;return hf&&hf.name?hf.name:this.hiddenName||Ext.ux.form.CheckboxCombo.superclass.getName.call(this)},assertValue:function(){if(!this.cbgroup)return false;var checkboxValues=this.cbgroup.getValue();if(checkboxValues){var vals=[];Ext.each(checkboxValues,function(cb){vals.push(cb.inputValue)}); this.setValue(vals)}else this.clearValue()},setValue:function(vals){vals=vals||[];if(typeof vals==="string")vals=vals.split(",");var text=[];Ext.each(this.store.data.items,function(rec){rec.checked=false},this);Ext.each(vals,function(v){if(this.valueField){var r=this.findRecord(this.valueField,v);if(r){text.push(r.data[this.displayField]);r.checked=true}}},this);if(typeof vals==="array"||typeof vals==="object")vals=vals.join(",");if(this.cbgroup)this.cbgroup.setValue(Ext.pluck(this.store.data.items, "checked"));if(this.hiddenField)this.hiddenField.value=Ext.value(vals,"");this.lastSelectionText=text.join(", ");Ext.ux.form.CheckboxCombo.superclass.setValue.call(this,text.join(", "));this.value=vals;this.fireEvent("changed",this,vals.split(","));return this},getValue:function(){if(this.valueField)return Ext.isDefined(this.value)?this.value:"";else return Ext.ux.form.CheckboxCombo.superclass.getValue.call(this)},clearValue:function(){if(this.hiddenField)this.hiddenField.value="";this.setRawValue(""); this.lastSelectionText="";this.applyEmptyText();this.value=""},findRecord:function(prop,value){var record;if(this.store.getCount()>0){record=this.store.getAt(this.store.findExact(prop,value));return record?record:false}},onListMove:function(e,t){this.inKeyMode=false},onListOver:function(e,t){var target=e.getTarget("div.x-form-item");if(target){target=Ext.get(target);target.radioClass("x-checkboxcombo-item-over")}},onListClick:function(e,t){if(Ext.get(e.getTarget()).dom.tagName=="INPUT"||Ext.get(e.getTarget()).dom.tagName== "LABEL")return;var target=e.getTarget("div.x-form-item");if(target){target=Ext.get(target);var cb=target.child("input");cb=Ext.getCmp(cb.id);if(!cb.disabled)cb.setValue(cb.getValue()?false:true)}},onListEnter:function(e,t){var target=Ext.DomQuery.selectNode(".x-checkboxcombo-item-over",this.list.dom);if(target){target=Ext.get(target);var cb=target.child("input");cb=Ext.getCmp(cb.id);cb.setValue(cb.getValue()?false:true)}},restrictHeight:function(){this.innerList.dom.style.height="";var inner=this.innerList.dom, pad=this.list.getFrameWidth("tb")+this.assetHeight,h=Math.max(inner.clientHeight,inner.offsetHeight,inner.scrollHeight),ha=this.getPosition()[1]-Ext.getBody().getScroll().top,hb=Ext.lib.Dom.getViewHeight()-ha-this.getSize().height,space=Math.max(ha,hb,this.minHeight||0)-this.list.shadowOffset-pad-5;h=Math.min(h,space,this.maxHeight);this.innerList.setHeight(h);this.list.beginUpdate();this.list.setHeight(h+pad);this.list.alignTo.apply(this.list,[this.el].concat(this.listAlign));this.list.endUpdate()}, isExpanded:function(){return this.list&&this.list.isVisible()},selectNext:function(){var ct=this.store.getCount();if(ct>0){var el=Ext.DomQuery.selectNode(".x-checkboxcombo-item-over",this.list.dom);if(!el)this.innerList.child(".x-form-item").radioClass("x-checkboxcombo-item-over");else Ext.get(el).next().radioClass("x-checkboxcombo-item-over")}},selectPrev:function(){var ct=this.store.getCount();if(ct>0){var el=Ext.DomQuery.selectNode(".x-checkboxcombo-item-over",this.list.dom);if(!el)this.innerList.child(".x-form-item").radioClass("x-checkboxcombo-item-over"); else Ext.get(el).prev().radioClass("x-checkboxcombo-item-over")}},validateBlur:function(){return!this.list||!this.list.isVisible()},beforeBlur:function(){this.assertValue()},postBlur:function(){Ext.ux.form.CheckboxCombo.superclass.postBlur.call(this);this.collapse();this.inKeyMode=false},collapse:function(){if(!this.isExpanded())return;this.list.hide();Ext.getDoc().un("mousewheel",this.collapseIf,this);Ext.getDoc().un("mousedown",this.collapseIf,this);this.beforeBlur();this.fireEvent("collapse",this)}, collapseIf:function(e){if(!e.within(this.wrap)&&!e.within(this.list))this.collapse()},expand:function(){if(this.isExpanded()||!this.hasFocus)return;if(this.bufferSize){this.doResize(this.bufferSize);delete this.bufferSize}this.list.alignTo.apply(this.list,[this.el].concat(this.listAlign));this.list.show();if(Ext.isGecko2)this.innerList.setOverflow("auto");this.mon(Ext.getDoc(),{scope:this,mousewheel:this.collapseIf,mousedown:this.collapseIf});this.fireEvent("expand",this)},removeCheckboxes:function(){if(this.cbgroup)this.cbgroup.destroy()}, addCheckboxes:function(){var checkboxes=[];if(this.store.data.items.length<1)return false;Ext.each(this.store.data.items,function(rec){checkboxes.push({name:rec.id,boxLabel:this.tpl.apply(rec.data),inputValue:rec.data[this.valueField],disabled:!!rec.data["disabled"],checked:rec.checked?rec.checked:false})},this);this.cbgroup=new Ext.form.CheckboxGroup({renderTo:this.innerList,columns:1,autoHeight:true,border:false,items:checkboxes});this.cbgroup.mon(this.cbgroup,"change",function(cbg,arr){this.fireEvent("change", this,arr);this.fireEvent("changeitem",this,arr)},this,{buffer:50})},onTriggerClick:function(){if(this.readOnly||this.disabled)return;if(this.isExpanded()){this.collapse();this.el.focus()}else{this.onFocus({});if(this.triggerAction=="all")this.store.reload();this.expand();this.el.focus()}},gridRenderer:function(value){if(typeof value=="string")value=value.split(",");var text=[];Ext.each(value,function(v){if(this.valueField){var r=this.findRecord(this.valueField,v);if(r)text.push(r.data[this.displayField])}}, this);return text.join(", ")},reconfigure:function(){var me=this;var store=me.getStore();var chbgroup=me.cbgroup;if(!chbgroup||!chbgroup.items||chbgroup.items.length<1)return false;chbgroup.items.each(function(item){var idx=store.findExact(me.valueField,item.inputValue);if(idx<0)return true;var store_item=store.getAt(idx);item.setDisabled(store_item.get("disabled"));item.boxLabel=store_item.get(me.displayField)})}});Ext.reg("checkboxcombo",Ext.ux.form.CheckboxCombo);Ext.ns("Ext.ux.plugins"); Ext.ux.plugins.Clipboard={init:function(component){var backend=this.getBackend();var onCopyToClipboard=function(){var text=component.clipboardText;if(backend&&backend.copy)backend.copy.call(component,text,arguments)};if(backend&&backend.init)backend.init(component,onCopyToClipboard);component.addEvents("copiedtoclipboard");component.on("copiedtoclipboard",this.onCopied)},onCopied:function(){if(this.setIconClass)this.setIconClass("icon-silk-tick")},getBackend:function(){for(var i=0;i=1){for(var id in newPositions)Ext.fly(dataviewID+"-"+id).applyStyles({top:newPositions[id].top+"px",left:newPositions[id].left+"px"});Ext.TaskMgr.stop(task)}else for(var id in newPositions){if(!previous[id])continue;var oldPos=oldPositions[id],newPos=newPositions[id],oldTop=oldPos.top,newTop=newPos.top,oldLeft=oldPos.left,newLeft=newPos.left,diffTop=fraction*Math.abs(oldTop-newTop),diffLeft=fraction*Math.abs(oldLeft-newLeft),midTop=oldTop>newTop?oldTop-diffTop: oldTop+diffTop,midLeft=oldLeft>newLeft?oldLeft-diffLeft:oldLeft+diffLeft;Ext.fly(dataviewID+"-"+id).applyStyles({top:midTop+"px",left:midLeft+"px"})}};var task={run:doAnimate,interval:20,scope:this};Ext.TaskMgr.start(task);Ext.iterate(added,function(id,item){Ext.fly(this.dataviewID+"-"+item.get(this.idProperty)).applyStyles({top:newPositions[id].top+"px",left:newPositions[id].left+"px"}).fadeIn({remove:false,duration:duration/1E3})},this);this.cacheStoreData(store)},this)},cacheStoreData:function(store){this.cachedStoreData= {};store.each(function(record){this.cachedStoreData[record.get(this.idProperty)]=record},this)},getExisting:function(){return this.cachedStoreData},getExistingCount:function(){var count=0,items=this.getExisting();for(var k in items)count++;return count},getAdded:function(store){var added={};store.each(function(record){if(this.cachedStoreData[record.get(this.idProperty)]==undefined)added[record.get(this.idProperty)]=record},this);return added},getRemoved:function(store){var removed=[];for(var id in this.cachedStoreData)if(store.findExact(this.idProperty, Number(id))==-1)removed.push(this.cachedStoreData[id]);return removed},getRemaining:function(store){var remaining={};store.each(function(record){if(this.cachedStoreData[record.get(this.idProperty)]!=undefined)remaining[record.get(this.idProperty)]=record},this);return remaining}});Ext.ux.DisableDoubleClick=function(){return{init:function(f){f.lastClick=0;f.onClick=f.onClick.createInterceptor(this.onClick)},onClick:function(){if(!this.disabled){var time=(new Date).getTime();if(time-this.lastClick<400){this.lastClick=0;return false}else{this.lastClick=time;return true}}}}}();Ext.ns("Ext.ux.plugins"); Ext.ux.plugins.GridMenu={init:function(cmp){if(!cmp.menuItems)return;if(!Ext.isArray(cmp.menuItems))cmp.menuItems=[cmp.menuItems];(function(items){for(var i=items.length-1;i>=0;i--)if(items[i].handler)items[i].handler=function(h){return function(b,e){h(b,e,cmp.currentRow,cmp)}}(items[i].handler)})(cmp.menuItems);cmp.on("rowcontextmenu",function(grid,index,ev){ev.preventDefault();if(!grid.ctxMenu)grid.ctxMenu=new Ext.menu.Menu({items:grid.menuItems});grid.currentRow=grid.getStore().getAt(index);if(grid.fireEvent("beforecontextmenu", grid,grid.ctxMenu,grid.currentRow,index))grid.ctxMenu.showAt(ev.getXY())});cmp.on("destroy",function(grid){if(grid.ctxMenu){grid.ctxMenu.hide();grid.ctxMenu.destroy();delete grid.ctxMenu}if(grid.currentRow)delete grid.currentRow})}};Ext.ns("Ext.ux.grid"); Ext.ux.grid.GridRow=Ext.extend(Ext.util.Observable,{expandOnEnter:true,expandOnDblClick:true,header:"",width:20,sortable:false,fixed:true,menuDisabled:true,dataIndex:"",id:"gridrow",lazyRender:true,enableCaching:true,actAsTree:false,treeLeafProperty:"is_leaf",appendRowClass:true,constructor:function(config){if(!config.id)config.id=Ext.id();Ext.apply(this,config);var css=".x-"+this.id+"-grid3-row-collapsed .x-grid3-row-expander { background-position:0 0; }"+".x-"+this.id+"-grid3-row-expanded .x-grid3-row-expander { background-position:-25px 0; }"+".x-"+ this.id+"-grid3-row-collapsed .x-grid3-row-body { display:none !important; }"+".x-"+this.id+"-grid3-row-expanded .x-grid3-row-body { display:block !important; }"+".x-grid-expander-leaf .x-grid3-row-expander { background: none; }";Ext.util.CSS.createStyleSheet(css,Ext.id());this.expanderClass="x-grid3-row-expander";this.rowExpandedClass="x-"+this.id+"-grid3-row-expanded";this.rowCollapsedClass="x-"+this.id+"-grid3-row-collapsed";this.leafClass="x-grid-expander-leaf";this.addEvents({beforeexpand:true, expand:true,beforecollapse:true,collapse:true});Ext.ux.grid.GridRow.superclass.constructor.call(this);if(this.tpl){if(typeof this.tpl=="string")this.tpl=new Ext.Template(this.tpl);this.tpl.compile()}this.state={};this.bodyContent={}},getRowClass:function(record,rowIndex,p,ds){p.cols=p.cols-1;var content=this.bodyContent[record.id];if(!content&&!this.lazyRender)content=this.getBodyContent(record,rowIndex);if(content)p.body=content;var cssClass=this.state[record.id]?this.rowExpandedClass:this.rowCollapsedClass; if(this.actAsTree&&record.get(this.treeLeafProperty))cssClass=this.leafClass;return cssClass},init:function(grid){this.grid=grid;var view=grid.getView();view.getRowClass=this.getRowClass.createDelegate(this);view.enableRowBody=true;grid.on("render",this.onRender,this);grid.on("destroy",this.onDestroy,this);view.on("beforerefresh",this.onBeforeRefresh,this);view.on("refresh",this.onRefresh,this)},onRender:function(){var grid=this.grid;var mainBody=grid.getView().mainBody;mainBody&&mainBody.on("mousedown", this.onMouseDown,this,{delegate:"."+this.expanderClass});if(this.expandOnEnter)this.keyNav=new Ext.KeyNav(this.grid.getGridEl(),{"enter":this.onEnter,scope:this});if(this.expandOnDblClick)grid.on("rowdblclick",this.onRowDblClick,this);if(this.actAsTree)grid.getEl().swallowEvent(["mouseover","mouseout","mousedown","click","dblclick"])},onBeforeRefresh:function(){var rows=this.grid.getEl().select("."+this.rowExpandedClass);rows.each(function(row){this.collapseRow(row.dom)},this)},onRefresh:function(){var rows= this.grid.getEl().select("."+this.rowExpandedClass);rows.each(function(row){Ext.fly(row).replaceClass(this.rowExpandedClass,this.rowCollapsedClass)},this)},onDestroy:function(){this.keyNav.disable();delete this.keyNav;var mainBody=this.grid.getView().mainBody;mainBody&&mainBody.un("mousedown",this.onMouseDown,this)},onRowDblClick:function(grid,rowIdx,e){this.toggleRow(rowIdx)},onEnter:function(e){var g=this.grid;var sm=g.getSelectionModel();var sels=sm.getSelections();for(var i=0,len=sels.length;i< len;i++){var rowIdx=g.getStore().indexOf(sels[i]);this.toggleRow(rowIdx)}},getBodyContent:function(record,index){if(!this.enableCaching)return this.tpl.apply(record.data);var content=this.bodyContent[record.id];if(!content){content=this.tpl.apply(record.data);this.bodyContent[record.id]=content}return content},onMouseDown:function(e,t){e.stopEvent();var row=e.getTarget(".x-grid3-row");this.toggleRow(row)},renderer:function(v,p,record){p.cellAttr='rowspan="2"';return'
 
'},beforeExpand:function(record,body,rowIndex){if(this.fireEvent("beforeexpand",this,record,body,rowIndex)!==false){if(this.tpl&&this.lazyRender)body.innerHTML=this.getBodyContent(record,rowIndex);return true}else return false},toggleRow:function(row){if(typeof row=="number")row=this.grid.view.getRow(row);if(Ext.fly(row).hasClass(this.leafClass))return;this[Ext.fly(row).hasClass(this.rowCollapsedClass)?"expandRow":"collapseRow"](row)},expandRow:function(row){if(typeof row=="number")row= this.grid.view.getRow(row);if(Ext.fly(row).hasClass(this.leafClass))return;var record=this.grid.store.getAt(row.rowIndex);var body=Ext.DomQuery.selectNode("tr:nth(2) div.x-grid3-row-body",row);if(this.beforeExpand(record,body,row.rowIndex)){this.state[record.id]=true;Ext.fly(row).replaceClass(this.rowCollapsedClass,this.rowExpandedClass);this.fireEvent("expand",this,record,body,row.rowIndex)}},destroyNestedGrids:function(gridEl){if(gridEl){if(childGridEl=gridEl.child(".x-grid-panel"))this.destroyNestedGrids(childGridEl); var grid=Ext.getCmp(gridEl.id);if(grid&&grid!=this.grid){if(grid instanceof Ext.grid.EditorGridPanel){var cm=grid.getColumnModel();for(var i=0,s=cm.getColumnCount();i"));return}}if(Ext.isFunction(me.rowSaveHandler))me.rowSaveHandler.call(me,values,rowValue,!!insertRow);else{if(!!insertRow)me.getStore().insert(me.getStore().getCount(),rowValue);Ext.iterate(values,function(name,val){rowValue.set(name,val)})}win.close()}},{text:"\u041e\u0442\u043c\u0435\u043d\u0430",handler:function(){win.close()}}]});win.show()}};/* Ext JS Library 3.4.0 Copyright(c) 2006-2011 Sencha Inc. licensing@sencha.com http://www.sencha.com/license */ Ext.ns("Ext.ux.grid"); Ext.ux.grid.GroupSummary=Ext.extend(Ext.util.Observable,{constructor:function(config){Ext.apply(this,config);Ext.ux.grid.GroupSummary.superclass.constructor.call(this)},init:function(grid){this.grid=grid;var v=this.view=grid.getView();v.doGroupEnd=this.doGroupEnd.createDelegate(this);v.afterMethod("onColumnWidthUpdated",this.doWidth,this);v.afterMethod("onAllColumnWidthsUpdated",this.doAllWidths,this);v.afterMethod("onColumnHiddenUpdated",this.doHidden,this);v.afterMethod("onUpdate",this.doUpdate, this);v.afterMethod("onRemove",this.doRemove,this);if(!this.rowTpl){this.rowTpl=new Ext.Template('
','',"{cells}","
");this.rowTpl.disableFormats=true}this.rowTpl.compile();if(!this.cellTpl){this.cellTpl=new Ext.Template('','
{value}
', "");this.cellTpl.disableFormats=true}this.cellTpl.compile()},toggleSummaries:function(visible){var el=this.grid.getGridEl();if(el){if(visible===undefined)visible=el.hasClass("x-grid-hide-summary");el[visible?"removeClass":"addClass"]("x-grid-hide-summary")}},renderSummary:function(o,cs){cs=cs||this.view.getColumnData();var cfg=this.grid.getColumnModel().config,buf=[],c,p={},cf,last=cs.length-1;for(var i=0,len=cs.length;i",this.renderSummary({data:data},cs),"")},doWidth:function(col,w,tw){if(!this.isGrouped())return;var gs=this.view.getGroups(),len=gs.length,i=0,s;for(;i"}});Ext.grid.GroupSummary=Ext.ux.grid.GroupSummary; Ext.ux.grid.GroupSummary.Calculations={"sum":function(v,record,field){return v+(record.data[field]||0)},"count":function(v,record,field,data){return data[field+"count"]?++data[field+"count"]:data[field+"count"]=1},"max":function(v,record,field,data){var v=record.data[field];var max=data[field+"max"]===undefined?data[field+"max"]=v:data[field+"max"];return v>max?data[field+"max"]=v:max},"min":function(v,record,field,data){var v=record.data[field];var min=data[field+"min"]===undefined?data[field+"min"]= v:data[field+"min"];return vmaxheight||size.width>maxwidth)try{this.setSize(Math.min(size.width,maxwidth),Math.min(size.height,maxheight));this.doLayout()}catch(e){}if(this.syncShadow)this.syncShadow()};component.on("afterrender",component.sizeLimiter);component.on("resize",component.sizeLimiter)}};Ext.preg("LimitHeight",Ext.ux.plugins.LimitSize);Ext.preg("LimitSize",Ext.ux.plugins.LimitSize);Ext.ux.MonthPickerPlugin=function(){var picker;var oldDateDefaults;this.init=function(pk){picker=pk;picker.onTriggerClick=picker.onTriggerClick.createSequence(onClick);picker.getValue=picker.getValue.createInterceptor(setDefaultMonthDay).createSequence(restoreDefaultMonthDay);picker.beforeBlur=picker.beforeBlur.createInterceptor(setDefaultMonthDay).createSequence(restoreDefaultMonthDay)};function setDefaultMonthDay(){oldDateDefaults=Date.defaults.d;var dt=new Date;Date.defaults.d=dt.format("d");return true} function restoreDefaultMonthDay(ret){Date.defaults.d=oldDateDefaults;return ret}function onClick(e,el,opt){var p=picker.menu.picker;p.activeDate=p.activeDate.getFirstDateOfMonth();if(p.value)p.value=p.value.getFirstDateOfMonth();p.showMonthPicker();if(!p.disabled){p.monthPicker.stopFx();p.monthPicker.show();p.mun(p.monthPicker,"click",p.onMonthClick,p);p.mun(p.monthPicker,"dblclick",p.onMonthDblClick,p);p.onMonthClick=p.onMonthClick.createSequence(pickerClick);p.onMonthDblClick=p.onMonthDblClick.createSequence(pickerDblclick); p.mon(p.monthPicker,"click",p.onMonthClick,p);p.mon(p.monthPicker,"dblclick",p.onMonthDblClick,p)}}function pickerClick(e,t){var el=new Ext.Element(t);if(el.is("button.x-date-mp-cancel"))picker.menu.hide();else if(el.is("button.x-date-mp-ok")){var p=picker.menu.picker;p.setValue(p.activeDate);p.fireEvent("select",p,p.value)}}function pickerDblclick(e,t){var el=new Ext.Element(t);if(el.parent()&&(el.parent().is("td.x-date-mp-month")||el.parent().is("td.x-date-mp-year"))){var p=picker.menu.picker;p.setValue(p.activeDate); p.fireEvent("select",p,p.value)}}};Ext.preg("monthPickerPlugin",Ext.ux.MonthPickerPlugin);Ext.ns("Ext.ux.grid"); Ext.ux.grid.RowEditor=Ext.extend(Ext.Panel,{floating:true,shadow:false,layout:"hbox",cls:"x-small-editor",buttonAlign:"center",baseCls:"x-row-editor",elements:"header,footer,body",frameWidth:5,buttonPad:3,clicksToEdit:"auto",monitorValid:true,focusDelay:250,errorSummary:true,saveText:"Save",cancelText:"Cancel",commitChangesText:"You need to commit or cancel your changes",errorText:"Errors",defaults:{normalWidth:true},initComponent:function(){Ext.ux.grid.RowEditor.superclass.initComponent.call(this);this.addEvents("beforeedit", "canceledit","validateedit","afteredit")},init:function(grid){this.grid=grid;this.ownerCt=grid;if(this.clicksToEdit===2)grid.on("rowdblclick",this.onRowDblClick,this);else{grid.on("rowclick",this.onRowClick,this);if(Ext.isIE)grid.on("rowdblclick",this.onRowDblClick,this)}grid.getStore().on("remove",function(){this.stopEditing(false)},this);grid.on({scope:this,keydown:this.onGridKey,columnresize:this.verifyLayout,columnmove:this.refreshFields,reconfigure:this.refreshFields,beforedestroy:this.beforedestroy, destroy:this.destroy,bodyscroll:{buffer:250,fn:this.positionButtons}});grid.getColumnModel().on("hiddenchange",this.verifyLayout,this,{delay:1});grid.getView().on("refresh",this.stopEditing.createDelegate(this,[]))},beforedestroy:function(){this.stopMonitoring();this.grid.getStore().un("remove",this.onStoreRemove,this);this.stopEditing(false);Ext.destroy(this.btns,this.tooltip)},refreshFields:function(){this.initFields();this.verifyLayout()},isDirty:function(){var dirty;this.items.each(function(f){if(String(this.values[f.id])!== String(f.getValue())){dirty=true;return false}},this);return dirty},startEditing:function(rowIndex,doFocus){if(this.editing&&this.isDirty()){this.showTooltip(this.commitChangesText);return}if(Ext.isObject(rowIndex))rowIndex=this.grid.getStore().indexOf(rowIndex);if(this.fireEvent("beforeedit",this,rowIndex)!==false){this.editing=true;var g=this.grid,view=g.getView(),row=view.getRow(rowIndex),record=g.store.getAt(rowIndex);this.record=record;this.rowIndex=rowIndex;this.values={};if(!this.rendered)this.render(view.getEditorParent()); var w=Ext.fly(row).getWidth();this.setSize(w);if(!this.initialized)this.initFields();var cm=g.getColumnModel(),fields=this.items.items,f,val;for(var i=0,len=cm.getColumnCount();i=x){match=i;break}return match},startMonitoring:function(){if(!this.bound&&this.monitorValid){this.bound=true; Ext.TaskMgr.start({run:this.bindHandler,interval:this.monitorPoll||200,scope:this})}},stopMonitoring:function(){this.bound=false;if(this.tooltip)this.tooltip.hide()},isValid:function(){var valid=true;this.items.each(function(f){if(!f.isValid(true)){valid=false;return false}});return valid},bindHandler:function(){if(!this.bound)return false;var valid=this.isValid();if(!valid&&this.errorSummary)this.showTooltip(this.getErrorText().join(""));this.btns.saveBtn.setDisabled(!valid);this.fireEvent("validation", this,valid)},lastVisibleColumn:function(){var i=this.items.getCount()-1,c;for(;i>=0;i--){c=this.items.items[i];if(!c.hidden)return c}},showTooltip:function(msg){var t=this.tooltip;if(!t)t=this.tooltip=new Ext.ToolTip({maxWidth:600,cls:"errorTip",width:300,title:this.errorText,autoHide:false,anchor:"left",anchorToTarget:true,mouseOffset:[40,0]});var v=this.grid.getView(),top=parseInt(this.el.dom.style.top,10),scroll=v.scroller.dom.scrollTop,h=this.el.getHeight();if(top+h>=scroll){t.initTarget(this.lastVisibleColumn().getEl()); if(!t.rendered){t.show();t.hide()}t.body.update(msg);t.doAutoWidth(20);t.show()}else if(t.rendered)t.hide()},getErrorText:function(){var data=["
    "];this.items.each(function(f){if(!f.isValid(true))data.push("
  • ",f.getActiveError(),"
  • ")});data.push("
");return data}});Ext.preg("roweditor",Ext.ux.grid.RowEditor);Ext.ns("Ext.ux.grid");Ext.ux.grid.RowExpander=function(config){Ext.apply(this,config);this.state={};this.addEvents({beforeexpand:true,expand:true,beforecollapse:true,collapse:true});Ext.ux.grid.RowExpander.superclass.constructor.call(this)}; Ext.extend(Ext.ux.grid.RowExpander,Ext.util.Observable,{header:"",width:20,sortable:false,fixed:true,dataIndex:"",id:"expander",lazyRender:true,enableCaching:true,menuDisabled:true,getRowClass:function(record,rowIndex,rowParams,ds){rowParams.cols=rowParams.cols-1;var cls=this.state[record.id]?"x-grid3-row-expanded":"x-grid3-row-collapsed";if(this.oldGetRowClass)cls+=" "+this.oldGetRowClass(record,rowIndex,rowParams,ds);return cls},init:function(grid){this.grid=grid;var view=grid.getView();if(view.getRowClass)this.oldGetRowClass= view.getRowClass;view.getRowClass=this.getRowClass.createDelegate(this);view.enableRowBody=true;if(!this.ignoreRowUpdates)view.on("rowupdated",function(gridView,rowIndex,record){var row=gridView.getRow(rowIndex);if(Ext.fly(row).hasClass("x-grid3-row-expanded"))this.expandRow(rowIndex)},this);view.on("refresh",function(grid){var aRows=this.grid.getView().getRows();for(var i=0;i '}, beforeExpand:function(record,rowBody,rowIndex){var isContinue=true;if(this.fireEvent("beforeexpand",this.grid,record,rowIndex)!==false){if(rowBody.innerHTML==""||!this.enableCaching)this.createExpandingRowPanel(record,rowBody,rowIndex)}else isContinue=false;return isContinue},toggleRow:function(row){if(typeof row=="number")row=this.grid.view.getRow(row);this[Ext.fly(row).hasClass("x-grid3-row-collapsed")?"expandRow":"collapseRow"](row)},expandRow:function(row){if(typeof row=="number")row=this.grid.view.getRow(row); var record=this.store.getAt(row.rowIndex);var rowBody=Ext.DomQuery.selectNode("tr:nth(2) div.x-grid3-row-body",row);if(this.beforeExpand(record,rowBody,row.rowIndex)){this.state[record.id]=true;Ext.fly(row).replaceClass("x-grid3-row-collapsed","x-grid3-row-expanded");this.fireEvent("expand",this.grid,record,row.rowIndex)}},collapseRow:function(row){if(typeof row=="number")row=this.grid.view.getRow(row);var record=this.store.getAt(row.rowIndex);var body=Ext.fly(row).child("tr:nth(1) div.x-grid3-row-body", true);if(this.fireEvent("beforecollapse",this,record,body,row.rowIndex)!==false){this.state[record.id]=false;Ext.fly(row).replaceClass("x-grid3-row-expanded","x-grid3-row-collapsed");this.fireEvent("collapse",this,record,body,row.rowIndex)}},expandAll:function(){var aRows=this.grid.getView().getRows();for(var i=0;i-1)parts[parts.indexOf(fieldName)+1]= index;else{parts.push(fieldName);parts.push(index)}window.history.replaceState(null,null,"#"+parts.join("/"))});cmp.on("afterrender",function(){var params=Application.Router.prototype.parse(Ext.History.getToken());if(params[fieldName]===undefined)params[fieldName]=0;cmp.setActiveTab(parseInt(params[fieldName]))})}};Ext.ns("Ext.ux.grid"); Ext.ux.grid.TextActionColumn=Ext.extend(Ext.grid.Column,{header:" ",actionIdRe:/x-action-col-(\d+)/,altText:"",constructor:function(cfg){var me=this,items=cfg.items||(me.items=[me]),l=items.length,i,item;Ext.ux.grid.TextActionColumn.superclass.constructor.call(me,cfg);me.renderer=function(v,meta){var scope,t,actions=[],href,cls,text;v=Ext.isFunction(cfg.renderer)?cfg.renderer.apply(this,arguments)||"":"";meta.css+=" x-action-col-cell x-unselectable ";meta.attr='unselectable="on"';for(i=0;i0)extra=" "+extra.join(" ");else extra="";cls="x-action-col-"+String(i);t='";var ico="";if(item.icon)ico=''+(item.altText||item.tooltip||';if(text){if(ico)t=t+ico+" "+t;t+=text;t+=""}else if(ico)t=t+ico+"";else t="";actions.push(t)}v+=actions.join(cfg.actionsSeparator||" | ");return v}},destroy:function(){delete this.items;delete this.renderer;return Ext.ux.grid.TextActionColumn.superclass.destroy.apply(this, arguments)},processEvent:function(name,e,grid,rowIndex,colIndex){var m=e.getTarget().className.match(this.actionIdRe),item,fn;if(m&&(item=this.items[parseInt(m[1],10)]))if(name=="click"){var scope;if("item"===item.scope)scope=item;else scope=item.scope||this.scope||this;(fn=item.handler||this.handler)&&fn.call(scope,grid,rowIndex,colIndex,item,e)}else if(name=="mousedown"&&item.stopSelection!==false)return false;return Ext.ux.grid.TextActionColumn.superclass.processEvent.apply(this,arguments)}}); Ext.preg("textactioncolumn",Ext.ux.grid.TextActionColumn);Ext.grid.TextActionColumn=Ext.ux.grid.TextActionColumn;Ext.grid.Column.types.textactioncolumn=Ext.ux.grid.TextActionColumn;Ext.ns("Ext.ux.plugins"); Ext.ux.plugins.ToolTip={init:function(field){var getTipCfg=function(tipTarget,tipCfg){var cfg=tipCfg||{};cfg.autoHeight=true;cfg.target=tipTarget;cfg.enabled=true;if(!cfg.applyTipTo)cfg.applyTipTo="field";if(cfg.applyTipTo=="label")cfg.anchor="right";return cfg};var findLabel=function(){var wrapDiv=null;var label=null;if(this.xtype=="checkbox"||this.xtype=="radiogroup")wrapDiv=this.getEl().up("div.x-form-item");else wrapDiv=this.getEl().up("div.x-form-element");if(wrapDiv)label=wrapDiv.child("label"); if(label)return label;wrapDiv=this.getEl().up("div.x-form-item");if(wrapDiv)label=wrapDiv.child("label");if(label)return label;return null};var getLabelTipObject=function(field){var label=findLabel.call(field);if(label){var helpImage=label.createChild({tag:"img",src:"/ico/help.png",style:"margin-bottom: 0px; margin-left: 5px; padding: 0px;",width:14});new Ext.ToolTip(getTipCfg(helpImage,field.qtipConfig))}};field.on("afterrender",function(){if(this.qtipConfig)switch(this.qtipConfig.applyTipTo){case "field":new Ext.ToolTip(getTipCfg(this.getEl(), this.qtipConfig));break;case "label":getLabelTipObject(this);break;default:new Ext.ToolTip(getTipCfg(this.getEl(),this.qtipConfig));getLabelTipObject(this);break}})}};Ext.namespace("Ext.ux.plugin");Ext.ux.plugin.TriggerfieldTooltip=function(config){Ext.apply(this,config)}; Ext.extend(Ext.ux.plugin.TriggerfieldTooltip,Ext.util.Observable,{init:function(component){this.component=component;this.component.on("render",this.onRender,this)},onRender:function(){if(this.component.tooltip)if(typeof this.component.tooltip==="object")Ext.QuickTips.register(Ext.apply({target:this.component.trigger},this.component.tooltip));else this.component.trigger.dom[this.component.tooltipType]=this.component.tooltip}});/* http://www.gnu.org/licenses/agpl.html AGPL Version 3 @author Cornelius Weiss @copyright Copyright (c) 2009 Metaways Infosystems GmbH (http://www.metaways.de) @version $Id: ZendFrameworkProvider.js 15722 2010-08-06 13:30:39Z c.weiss@metaways.de $ Copyright (c) 2009 Metaways Infosystems GmbH (http://www.metaways.de) Ext.Direct provider for seamless integration with Zend_Json_Server Ext.Direct.addProvider(Ext.apply(Ext.app.JSONRPC_API, { 'type' : 'zfprovider', 'url' : Ext.app.JSONRPC_API })); */ Ext.ns("Ext.ux","Ext.ux.direct");Ext.ns("Ext.ux.plugins"); Ext.ux.plugins.autoresize={guardHeight:0,guardWidth:0,innerPanelId:"layout_north_panel",outerPanelId:"layout_center_outer_panel",init:function(cmp){var self=Ext.ux.plugins.autoresize;cmp.autoResize=cmp.autoResize||{};Ext.apply(cmp.autoResize,{autoWidth:true});cmp.autoResize.delayEvent=null;var stickTo=Ext.getCmp(cmp.autoResize.stickTo||self.outerPanelId);var internalPanel=null;if(false!==cmp.autoResize.internalPanel)internalPanel=Ext.getCmp(cmp.autoResize.internalPanel||self.innerPanelId);var resizeEventStarter= function(){if(!cmp)return;if(cmp.autoResize.delayEvent)clearTimeout(cmp.autoResize.delayEvent);cmp.autoResize.delayEvent=setTimeout(function(){cmp.autoResize.delayEvent=null;if(cmp&&cmp.fireEvent)cmp.fireEvent("windowresize",cmp)},100)};var calculateHeight=function(){var outer_height=stickTo.getHeight();var inner_height=internalPanel?internalPanel.getHeight():0;var guard_height=cmp?cmp.autoResize.guardHeight:undefined;if(undefined===guard_height)guard_height=self.guardHeight;return Math.floor(outer_height- inner_height-guard_height)};var calculateWidth=function(){var outer_width=stickTo.getWidth();var guard_width=cmp?cmp.autoResize.guardWidth:undefined;if(undefined===guard_width)guard_width=self.guardWidth;return Math.floor(outer_width-guard_width)};var resizeHandler=function(){if(!cmp)return;var new_height=calculateHeight();if(Math.floor(cmp.getHeight())!=new_height)cmp.setHeight(new_height);if(cmp.autoResize.autoWidth){var new_width=calculateWidth();if(Math.floor(cmp.getWidth())!=new_width)cmp.setWidth(new_width)}}; cmp.addEvents("windowresize");stickTo.on("resize",resizeEventStarter);cmp.on("resize",resizeEventStarter);cmp.on("render",resizeEventStarter);cmp.on("afterlayout",resizeEventStarter);cmp.on("windowresize",resizeHandler);cmp.on("destroy",function(cmp){if(cmp.autoResize.delayEvent)clearTimeout(cmp.autoResize.delayEvent);stickTo.un("resize",resizeEventStarter);cmp.un("windowresize",resizeHandler);cmp.un("afterlayout",resizeEventStarter);cmp.un("render",resizeEventStarter);cmp.un("resize",resizeEventStarter); cmp=null});cmp.height=calculateHeight();if(cmp.autoResize.autoWidth)cmp.width=calculateWidth()}};Ext.ns("Ext.extension");Ext.extension.LoadMask=Ext.extend(Ext.LoadMask,{changeElement:function(el){if(el===this.el)return;var oldEl=this.el;this.el=el;if(oldEl.isMasked()){this.onBeforeLoad();oldEl.unmask(this.removeMask)}}});Ext.define("Application.components.avTextarea",{extend:"Ext.form.TextArea"});Ext.ns("Ext.extension.Boolean");Ext.extension.Boolean=function(){return{strToBoolean:function(value){if(value.toLowerCase()==="false")return false;else return Boolean(value)}}}();Ext.ns("Ext.extension"); Ext.extension.Finance=function(){var DEFAULT_ROUND_BOUNDARY=10;return{calcCostNoVAT:function(priceWithVAT,quantity,vat){var result=null;if(priceWithVAT){vat=vat?vat:0;result=Ext.extension.Math.multiply(Ext.extension.Math.division(Ext.extension.Math.multiply(priceWithVAT,Ext.extension.Math.MAX_PERCENT),Ext.extension.Math.sum(Ext.extension.Math.MAX_PERCENT,vat,DEFAULT_ROUND_BOUNDARY),DEFAULT_ROUND_BOUNDARY),quantity,DEFAULT_ROUND_BOUNDARY);result=Ext.util.Format.round(result,Ext.extension.Math.DEFAULT_DECIMAL_PRECISION)}return result}, calcPriceNoVAT:function(priceWithVAT,vat){var result=null;if(priceWithVAT){vat=vat?vat:0;result=Ext.extension.Math.division(Ext.extension.Math.multiply(priceWithVAT,Ext.extension.Math.MAX_PERCENT),Ext.extension.Math.sum(Ext.extension.Math.MAX_PERCENT,vat,DEFAULT_ROUND_BOUNDARY),DEFAULT_ROUND_BOUNDARY);result=Ext.util.Format.round(result,Ext.extension.Math.DEFAULT_DECIMAL_PRECISION)}return result},calcPriceWithDiscountWithVAT:function(priceWithVAT,discount){var result=null;discount=discount?discount: 0;if(0===discount)return priceWithVAT;if(priceWithVAT){result=Ext.extension.Math.division(Ext.extension.Math.multiply(priceWithVAT,Ext.extension.Math.sum(Ext.extension.Math.MAX_PERCENT,-discount,DEFAULT_ROUND_BOUNDARY)),Ext.extension.Math.MAX_PERCENT,DEFAULT_ROUND_BOUNDARY);result=Ext.util.Format.round(result,Ext.extension.Math.DEFAULT_DECIMAL_PRECISION)}return result},calcCostWithVat:function(priceWithVAT,quantity){return this.calcCostNoVAT(priceWithVAT,quantity)},calcCostWithVAT:function(priceWithVAT, quantity){return Ext.extension.Math.multiply(priceWithVAT,quantity)},calcPriceWithVAT:function(priceNoVAT,vat){return Ext.extension.Math.division(Ext.extension.Math.multiply(priceNoVAT,Ext.extension.Math.sum(Ext.extension.Math.MAX_PERCENT,vat)),Ext.extension.Math.MAX_PERCENT)},compareQuantities:function(quantity1,quantity2){quantityPrecision=Application.components.util.Format.getQuantityPrecision();return Ext.extension.Math.compare(quantity1,quantity2,quantityPrecision)},sumQuantities:function(quantity1, quantity2){quantityPrecision=Application.components.util.Format.getQuantityPrecision();return Ext.extension.Math.sum(quantity1,quantity2,quantityPrecision)}}}();Ext.ns("Ext.extension.Integer");Ext.extension.Integer={MAX_VALUE:2147483647};Ext.extension.Math=function(){return{DEFAULT_DECIMAL_PRECISION:2,MAX_PERCENT:100,BASE_TEN:10,MINUS_ONE:-1,isEqual:function(number1,number2,decimals){decimals=Ext.isDefined(decimals)?decimals:this.DEFAULT_DECIMAL_PRECISION;return Ext.util.Format.round(number1,decimals)===Ext.util.Format.round(number2,decimals)},compare:function(number1,number2,decimals){decimals=Ext.isDefined(decimals)?decimals:this.DEFAULT_DECIMAL_PRECISION;var epsilon=Math.pow(this.BASE_TEN,-decimals),difference=number1-number2; if(Math.abs(difference)\n");icon=resp.messageIcon?resp.messageIcon:"WARNING"}msg=msg.replace(/(?:\r\n|\r|\n)/g,"
");return Ext.extension.MessageBox.alertPromise(msg,title,icon)},message:Ext.extension.MessageBox.confirmPromise, alert:Ext.extension.MessageBox.alertPromise}}();Ext.ns("Ext.ux.grid"); Ext.define("Ext.ux.grid.searchAttributesColumn",{extend:"Ext.grid.Column",initComponent:function(){Application.components.searchAttributesColumn.call(this)},renderer:function(v){var tpl=new Ext.XTemplate(''+''+"
{name:htmlEncode}: {[ this.renderValue(values.value) ]}
"+"
"+"
",{renderValue:function(value,meta,row){if(Ext.isArray(value))return Ext.util.Format.htmlEncode("\u043e\u0442:"+value[0]+", \u0434\u043e: "+value[1]); else return Ext.util.Format.htmlEncode(value)},valueNotEmpty:function(value){if(Ext.isArray(value)){var valueNotEmpty=false;Ext.iterate(value,function(val){valueNotEmpty=valueNotEmpty||!Ext.isEmpty(val)&&val!==" "});return valueNotEmpty}return!Ext.isEmpty(value)}});var value;try{value=Ext.decode(v)}catch(error){value=""}return Ext.isEmpty(value)?"":tpl.apply(value)}});Ext.preg("searchattributescolumn",Ext.ux.grid.searchAttributesColumn);Ext.grid.SearchAttributesColumn=Ext.ux.grid.searchAttributesColumn; Ext.grid.Column.types.searchattributescolumn=Ext.ux.grid.searchAttributesColumn;Ext.namespace("Ext.ux.grid");Ext.ux.grid.AdvancedSearch=function(config){Ext.apply(this,config);this.addEvents("change");Ext.ux.grid.AdvancedSearch.superclass.constructor.call(this)}; Ext.extend(Ext.ux.grid.AdvancedSearch,Ext.util.Observable,{grid:null,betweenNames:{till:"[till]",from:"[from]"},init:function(grid){this.grid=grid;this.gridFilterTbar=this.createGridFilterTbar();if(this.grid.getTopToolbar()==undefined)this.createGridTopToolbar().add(this.gridFilterTbar);else this.grid.add(this.gridFilterTbar);this.createIntegration()},createGridFilterTbar:function(){var items=this.createElements();var grid=this.grid;return new Application.components.GridFilterTbar({grid:grid,filterFields:items, betweenNames:this.betweenNames,listeners:{search:function(data){Application.models.FilterRow.reloadStore(grid,data,true);grid.filterRow.fireEvent("updateFilterData",data)}},getRowFilterData:function(dataIndex,value,filterOption,conditionOption){return Application.models.FilterRow.genDataArray(dataIndex,value,filterOption,conditionOption)}})},createIntegration:function(){var com=this;var grid=this.grid;if(grid.filterRow){this.gridFilterTbar.on("resetFilter",function(){grid.filterRow.clearAllFilters(); Application.models.FilterRow.reloadStore(grid,{},true)},grid);grid.filterRow.on("change",function(filterRow){com.gridFilterTbar.updateData(filterRow.data)},grid)}},createElements:function(){var com=this;var grid=this.grid;var cols=grid.getColumnModel().config;var items=[];Ext.each(cols,function(col){var editor=col.filterInput;if(!col.hidden&&editor){if(!col.filterDataIndex)col.filterDataIndex=editor.dataIndex?editor.dataIndex:col.dataIndex;editor.fieldLabel=col.header;items.push(com.createFilterElement(editor, col.filterDataIndex))}});return items},createFilterElement:function(filterInput,name){if(filterInput.isXType("Application.components.priceField")||filterInput.isXType("Application.components.numberField")||filterInput.isXType("Application.components.priceField")||filterInput.isXType("Application.components.NumberField"))return new Ext.ux.form.FilterRowFieldInterval({fieldxtype:filterInput.getXType(),fieldLabel:filterInput.fieldLabel,decimalPrecision:filterInput.decimalPrecision,fieldName:name,betweenNames:this.betweenNames}); else{var com={};Ext.apply(com,filterInput);Ext.apply(com,{id:null,anchor:"90%",name:name});if(filterInput.isXType("textfield",true))Ext.apply(com,{useInFastSearch:true});return com}},createGridTopToolbar:function(){this.grid.elements+=",tbar";this.grid.topToolbar=new Ext.Toolbar({layout:"anchor",autoHeight:true});return this.grid.getTopToolbar()}});Ext.namespace("Ext.ux.grid");Ext.ux.grid.FilterRow=function(config){Ext.apply(this,config);this.addEvents("change");Ext.ux.grid.FilterRow.superclass.constructor.call(this)}; Ext.extend(Ext.ux.grid.FilterRow,Ext.util.Observable,{INDEX_OF_NOT_FOUND:-1,EDITOR_HORIZONTAL_SHIFT:18,FILTER_HORIZONTAL_SHIFT:10,filterClasses:["filter-on","filter-off"],init:function(grid){this.grid=grid;var view=grid.getView();var headerTpl=new Ext.Template('','{cells}',"
");Ext.applyIf(view,{templates:{}});view.templates.header=headerTpl;var hdMenuButton=this.grid.enableHdMenu? '':"";view.templates.hcell=new Ext.Template('','
',hdMenuButton,"{value}",'','','',"
","");grid.on("resize",this.syncFields,this);grid.on("columnresize",this.syncFields,this);grid.on("render",this.renderFields,this);grid.on("render",this.renderFilterMenu,this);if(grid.stateful)this.grid.on("staterestore",this.applyState,this);var FilterRow=this;view.updateHeaders=function(){this.innerHd.firstChild.innerHTML=this.renderHeaders();this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=this.getTotalWidth();FilterRow.renderFields()}; Ext.apply(grid,{enableColumnHide_:false,enableColumnMove:true});this.on("change",function(filterRow){FilterRow.eventChange(filterRow)},grid);this.on("updateFilterData",function(data){var cols=this.getColumnModel().config;Ext.each(cols,function(col){if(data[col.filterDataIndex]!=undefined)col.filterInput.setValue(data[col.filterDataIndex])})},grid)},applyState:function(grid,state){if(state.store)if(state.store.params)this.initParams=state.store.params},initFilterConfig:function(){if(!this.initConfig){var BPN= Application.models.FilterRow.BASE_PARAMS_NAME;var component=this;var view=this.grid.getView();var cols=view.cm.config;var params=this.initParams;Ext.each(cols,function(col){var editor=col.filterInput;if(editor){col.filterDataIndex=editor.dataIndex?editor.dataIndex:col.dataIndex;if(params&¶ms[BPN+"["+col.filterDataIndex+"]"])component.setData4Col(col,params[BPN+"["+col.filterDataIndex+"]"],params[BPN+"["+col.filterDataIndex+"_filterOption"+"]"])}});view.on("refresh",this.updateHeaderFilterState, this);this.initConfig=true}},filterOptionClick:function(filterMenu,newValue){filterMenu.filterInput.filterOption=newValue;if(newValue=="NoFilter")filterMenu.filterInput.setValue("");this.onChange()},setEditor:function(col){var filterInput=col.filterInput;var retFilterInput;if(!Ext.isEmpty(filterInput.filterOption))switch(filterInput.filterOption){case "betweenDateMY":case "betweenDateDMY":case "between":if(Ext.isEmpty(filterInput.origfilterInput)){if(Ext.isEmpty(filterInput.betweenfilterInput))filterInput.betweenfilterInput= new Ext.ux.form.FilterRowDateInterval({fieldxtype:filterInput.getXType(),format:filterInput.format,DatePlugins:filterInput.initialConfig.plugins,value:filterInput.getValue(),filterOption:filterInput.filterOption,origfilterInput:filterInput});retFilterInput=filterInput.betweenfilterInput}break;default:if(!Ext.isEmpty(filterInput.origfilterInput))retFilterInput=filterInput.origfilterInput;break}if(undefined!==retFilterInput){var lastValue=filterInput.getValue();if(!Ext.isEmpty(retFilterInput.betweenfilterInput))lastValue= lastValue.from;retFilterInput.setValue(lastValue);retFilterInput.filterOption=filterInput.filterOption;col.filterInput=retFilterInput}return col.filterInput},_getFilterOptions:function(col){if(!col.filterOptions){var defOptionVal,filterOptions;var filterInput=col.filterInput;if(filterInput.isXType("datefield")||filterInput.isXType("filterrowdateinterval"))if(filterInput.format==="m.Y"){filterOptions=[{value:"NoFilter",text:"\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0444\u0438\u043b\u044c\u0442\u0440"}, {value:"equalDateMY",text:"\u0420\u0430\u0432\u043d\u043e"},{value:"betweenDateMY",text:"\u041c\u0435\u0436\u0434\u0443"}];defOptionVal="equalDateMY"}else{filterOptions=[{value:"NoFilter",text:"\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0444\u0438\u043b\u044c\u0442\u0440"},{value:"equalDateDMY",text:"\u0420\u0430\u0432\u043d\u043e"},{value:"betweenDateDMY",text:"\u041c\u0435\u0436\u0434\u0443"}];defOptionVal="equalDateDMY"}else if(filterInput.isXType("checkbox")||filterInput.isXType("Application.components.comboBool")){filterOptions= [{value:"NoFilter",text:"\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0444\u0438\u043b\u044c\u0442\u0440"},{value:"equalBool",text:"\u0420\u0430\u0432\u043d\u043e"}];defOptionVal="equalBool"}else if(filterInput.isXType("combo")){filterOptions=[{value:"NoFilter",text:"\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0444\u0438\u043b\u044c\u0442\u0440"},{value:"equal",text:"\u0420\u0430\u0432\u043d\u043e"}];defOptionVal="equal"}else if(filterInput.isXType("Application.components.priceField")|| filterInput.isXType("Application.components.numberField")||filterInput.isXType("numberfield")){filterOptions=[{value:"NoFilter",text:"\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0444\u0438\u043b\u044c\u0442\u0440"},{value:"equal",text:"\u0420\u0430\u0432\u043d\u043e"},{value:"before",text:"\u041c\u0435\u043d\u044c\u0448\u0435"},{value:"after",text:"\u0411\u043e\u043b\u044c\u0448\u0435"},{value:"between",text:"\u041c\u0435\u0436\u0434\u0443"}];defOptionVal="equal"}else{filterOptions=[{value:"NoFilter", text:"\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0444\u0438\u043b\u044c\u0442\u0440"},{value:"startwith",text:"\u041d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441"},{value:"endwith",text:"\u0417\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430"},{value:"contain",text:"\u0421\u043e\u0434\u0435\u0440\u0436\u0438\u0442"},{value:"doesnotcontain",text:"\u041d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442"}];defOptionVal="contain"}col.filterOptions= {dataOption:filterOptions,defOptionVal:defOptionVal}}return col.filterOptions},beforeFilterMenuShow:function(){var component=this;var grid=this.grid;var view=grid.getView();var cm=view.cm;var col=cm.config[view.hdCtxIndex];var filterInput=col.filterInput;var filterOptions=this._getFilterOptions(col);filterInput.defOptionVal=filterOptions.defOptionVal;if(Ext.isEmpty(filterInput.filterOption))filterInput.filterOption=filterOptions.defOptionVal;if(!col.filterOptionsCombobox)col.filterOptionsCombobox= new Ext.form.ComboBox({store:new Ext.data.Store({reader:new Ext.data.JsonReader({root:"data",idProperty:"value",fields:[{name:"value"},{name:"text"}]}),data:{data:filterOptions.dataOption}}),displayField:"text",valueField:"value",allowBlank:true,editable:false,mode:"local",value:filterInput.filterOption,listClass:"x-combo-list-small",filterInput:filterInput,listeners:{change:function(combo,newValue){component.filterOptionClick(combo,newValue)}}});this.filterMenu.removeAll();if(filterOptions.dataOption&& Ext.isArray(filterOptions.dataOption)){var item=view.hmenu.items.get("Filter");var text="\u0424\u0438\u043b\u044c\u0442\u0440";for(var i=0;i');item.show();this.setEditor(col);var editor=col.filterInput;if(Ext.isIE)col.filterInput=editor=editor.cloneConfig({value:editor.getValue()});if(editor.isXType("combo")||editor.isXType("datefield")||editor.isXType("filterrowdateinterval")&&editor.isFieldXType("datefield")){editor.on("select",this.resetNoFilterOption,this,editor);editor.on("change",this.resetNoFilterOption,this,editor);editor.getListParent=function(){return this.el.up(".x-menu")}}else editor.on("change", this.resetNoFilterOption,this,editor);if(Ext.isIE){editor.on("expand",function(){this.el.up(".x-menu").setStyle("overflow","visible")});editor.on("collapse",function(){this.el.up(".x-menu").setStyle("overflow","hidden")})}new Ext.Panel({border:false,layout:"fit",items:editor,renderTo:filterDivId});this.beforeFilterMenuShow()}item.setDisabled(false)}else{item.hide();item.update("");item.setDisabled(true)}view.hmenu.doLayout()},renderFilterMenu:function(){var component=this;var grid=this.grid;var view= grid.getView();this.initFilterConfig();this.filterMenu=new Ext.menu.Menu({id:grid.id+"-filter-menu"});this.filterMenu.on({scope:this,beforeshow:this.beforeFilterMenuShow,itemclick:function(menu){component.filterOptionClick(menu,menu.value)}});view.hmenu.on({scope:this,beforehide:this.setFilterIcon,beforeshow:this.setFilterMenu});view.hmenu.add("-",{itemId:"Filter",hideOnClick:false,text:"\u0424\u0438\u043b\u044c\u0442\u0440",menu:this.filterMenu,iconCls:"x-filter-icon"});view.hmenu.add({xtype:"panel", itemId:"FilterOption",hideOnClick:false,hidden:true});view.hmenu.add({xtype:"menubaseitem",itemId:"FilterInput",hideOnClick:false,hidden:true})},renderFields:function(){},clearAllFilters:function(){var cols=this.grid.getColumnModel().config;Ext.each(cols,function(col){if(!col.hidden&&col.filterInput)col.filterInput.setValue("")})},getData4Col:function(col){if(!col.hidden&&col.filterInput){this.setEditor(col);var e=col.filterInput;return Application.models.FilterRow.genDataArray(col.filterDataIndex, e.getValue(),e.filterOption)}return{}},_isValidOption:function(col,option){var filterOptions=this._getFilterOptions(col);var find=false;Ext.each(filterOptions.dataOption,function(item){if(option===item.value)find=true});return find},setData4Col:function(col,value,option){if(!col.hidden){var editor=col.filterInput;if(editor)if(this._isValidOption(col,option)){editor.filterOption=option;this.setEditor(col);col.filterInput.setValue(value)}}},getData:function(){var grid=this.grid;var cm=grid.getColumnModel(); var cols=cm.config;var data={};var component=this;Ext.each(cols,function(col){var data2=component.getData4Col(col);for(var attrname in data2)data[attrname]=data2[attrname]});return data},resetNoFilterOption:function(editor){if(editor.filterOption=="NoFilter")editor.filterOption=editor.defOptionVal;this.onChange()},onChange:function(){this.fireChangeEvent(this.getData())},clearFilters:function(){this.fireChangeEvent({})},syncFields:function(){var com=this;var grid=this.grid;var cm=grid.getColumnModel(); var cols=cm.config;Ext.each(cols,function(col){if(!col.hidden){var editor=col.filterInput;if(editor)editor.setSize(col.width-com.EDITOR_HORIZONTAL_SHIFT);else if(col.clearFilter&&col.clearFilter.setSize)col.clearFilter.setSize(col.width-com.FILTER_HORIZONTAL_SHIFT)}})},fireChangeEvent:function(data){this.fireEvent("change",{filter:this,data:data})},eventChange:function(filterRow){Application.models.FilterRow.reloadStore(this.grid,filterRow.data,true)}});Ext.ns("Application.components"); Application.components.Checkbox=Ext.extend(Ext.form.Checkbox,{inputValue:"true",initComponent:function(){if(this.value!==undefined)this.checked=this.value===this.inputValue;return Application.components.Checkbox.superclass.initComponent.apply(this,arguments)},onRender:function(ct,position){var div=document.createElement("div");var el=Ext.DomHelper.overwrite(div,{tag:"input",type:"hidden",value:"false",name:this.name});this.container.dom.insertBefore(el,this.dom);Application.components.Checkbox.superclass.onRender.call(this,ct, position);return this}});Ext.reg("Application.components.Checkbox",Application.components.Checkbox);Ext.ns("Application.components"); Application.components.ComboBoxBoolean=Ext.extend(Ext.form.ComboBox,{triggerAction:"all",lazyRender:true,listClass:"x-combo-list-small",editable:true,forceSelection:true,valueField:"value",displayField:"name",mode:"local",store:new Ext.data.JsonStore({fields:[{name:"value",type:"bool"},"name"],data:[{value:true,name:"\u0414\u0430"},{value:false,name:"\u041d\u0435\u0442"}]}),findRecord:function(prop,value){var record=null;if(Ext.isString(value)&&prop===this.valueField)switch(value.toLowerCase().trim()){case "true":case "1":case "yes":value=true; break;case "false":case "0":case "no":value=false;break}this.store.each(function(r){if(r.data[prop]===value){record=r;return false}});return record}});Ext.reg("Application.components.ComboBoxBoolean",Application.components.ComboBoxBoolean);if("function"!==typeof RegExp.escape)RegExp.escape=function(s){if("string"!==typeof s)return s;return s.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1")};Ext.ns("Application.components"); (function(){var selectAllValue="allItems";Application.components.ComboBoxMultiSelect=Ext.extend(Ext.form.ComboBox,{checkField:"checked_state",separator:",",addSelectAll:false,selectAllDiplay:"",selectAllIndex:0,defaultTpl:new Ext.Template('','
','','
{{displayField}:htmlEncode}', "
","
","
"),constructor:function(config){config=config||{};config.listeners=config.listeners||{};Ext.applyIf(config.listeners,{scope:this,beforequery:this.onBeforeQuery,afterrender:this.onAfterrender,blur:this.onRealBlur});Application.components.ComboBoxMultiSelect.superclass.constructor.call(this,config)},initComponent:function(){this.tpl=this.tpl||this.defaultTpl.apply({img:Ext.BLANK_IMAGE_URL,checkField:this.checkField,displayField:this.displayField});this.staticStore=new Ext.data.ArrayStore({fields:[this.displayField, this.valueField],data:[]});this.store.on("load",function(){if(this.store.getCount()>0&&this.selectAll&&!this.lastQuery){var allRecordData={};allRecordData[this.displayField]=this.selectAllDiplay;allRecordData[this.valueField]=selectAllValue;var allRecord=new this.store.recordType(allRecordData,this.selectAllIndex);this.store.insert(0,allRecord)}if(this.store.getCount()>this.staticStore.getCount())this.staticStore.data=this.store.data.clone();this.updateCheckBoxesState()},this);this.store.on("load", function(){if(this.value)this.setValue(this.value)},this,{single:true});this.onLoad=this.onLoad.createSequence(function(){if(this.el){var domValue=this.el.dom.value;this.el.dom.value="";this.el.dom.value=domValue}});Application.components.ComboBoxMultiSelect.superclass.initComponent.apply(this,arguments)},initEvents:function(){Application.components.ComboBoxMultiSelect.superclass.initEvents.apply(this,arguments);this.keyNav.tab=function(){this.onViewClick(true)}},setValue:function(value){if(!this.store.getCount())return; if(value){if(this.addSelectAll&&value==selectAllValue){this.selectAll();return}this.store.clearFilter();this.value=value;this.updateCheckBoxesState();if(this.hiddenField)this.hiddenField.value=value;if(this.el)this.el.removeClass(this.emptyClass);this.setRawValue(this.getCheckedDisplay())}else this.clearValue()},getValue:function(forSelf){var value=Application.components.ComboBoxMultiSelect.superclass.getValue.call(this),checkedAll=true;this.staticStore.each(function(record){checkedAll=checkedAll&& value.match("(^|"+this.separator+")"+RegExp.escape(record.get(this.valueField))+"("+this.separator+"|$)")},this);if(!forSelf||!checkedAll){var expr=new RegExp(selectAllValue+this.separator+"?");value=value.replace(expr,"")}return value},getCheckedDisplay:function(){var displayString=this.getCheckedValue(this.displayField),selectAllDiplayExpr=new RegExp(this.selectAllDiplay+this.separator+"?");if(this.selectAllDiplay&&displayString.match(selectAllDiplayExpr))if(!this.lastQuery)displayString=this.selectAllDiplay; else displayString=displayString.replace(selectAllDiplayExpr,"").replace(new RegExp(this.separator,"g"),this.separator+" ");return displayString},getCheckedValue:function(field){field=field||this.valueField;var checked=[];this.staticStore.each(function(record){if(record.get(this.checkField))checked.push(record.get(field))},this);return checked.join(this.separator)},updateStoreRecord:function(record,field,value){record.set(field,value);var dynamicStoreRecord=this.store.getById(record.id);if(dynamicStoreRecord)dynamicStoreRecord.set(field, value)},updateCheckBoxesState:function(){var value=this.getValue(true);this.staticStore.each(function(record){var checked=value.match("(^|"+this.separator+")"+RegExp.escape(record.get(this.valueField))+"("+this.separator+"|$)");this.updateStoreRecord(record,this.checkField,!!checked)},this)},selectAll:function(){this.staticStore.each(function(record){this.updateStoreRecord(record,this.checkField,true)},this);this.doQuery(this.allQuery);this.setValue(this.getCheckedValue())},deselectAll:function(){this.clearValue()}, clearValue:function(){this.value="";this.setRawValue(this.value);this.store.clearFilter();this.staticStore.each(function(record){this.updateStoreRecord(record,this.checkField,false)},this);if(this.hiddenField)this.hiddenField.value="";this.applyEmptyText()},onBeforeQuery:function(qe){qe.query=qe.query.replace(new RegExp(RegExp.escape(this.getCheckedDisplay())+"[ "+this.separator+"]*"),"")},onSelect:function(record,index){if(this.fireEvent("beforeselect",this,record,index)!==false){var staticRecord= this.staticStore.getById(record.id);this.updateStoreRecord(staticRecord,this.checkField,!staticRecord.get(this.checkField));if(this.addSelectAll)if(staticRecord.get(this.valueField)!=selectAllValue){this.updateStoreRecord(this.staticStore.getAt(this.selectAllIndex),this.checkField,false);this.setValue(this.getCheckedValue())}else if(index==this.selectAllIndex&&!staticRecord.get(this.checkField))this.deselectAll();else if(index==this.selectAllIndex)this.selectAll();if(this.store.isFiltered()||this.lastQuery)this.doQuery(this.allQuery, true);this.fireEvent("select",this,staticRecord,index)}},onRealBlur:function(){this.list.hide();var rawValue=this.getRawValue();var rva=rawValue.split(new RegExp(RegExp.escape(this.separator)+" *"));var selectedValues=[];Ext.each(rva,function(v){this.staticStore.each(function(record){if(v===record.get(this.displayField))selectedValues.push(record.get(this.valueField))},this)},this);this.setValue(selectedValues.join(this.separator));this.store.clearFilter()},onAfterrender:function(){this.store.load()}, beforeBlur:Ext.emptyFn})})();Ext.reg("ComboBoxMultiSelect",Application.components.ComboBoxMultiSelect);Ext.ns("Application.components"); Application.components.NumberField=Application.components.numberField=Ext.extend(Ext.form.NumberField,{decimalLength:0,isSetZeroWhenChangeToNull:false,useNull:false,zeroText:"\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043d\u0435 \u043d\u0443\u043b\u0435\u0432\u044b\u043c",allowZero:true,listeners:{change:function(e,v){}},initComponent:function(){var format=Application.components.util.Format.getFormatNumber();Ext.apply(this,format); Application.components.numberField.superclass.initComponent.call(this);if(this.decimalLength)this.maxValue=Math.pow(Ext.extension.Math.BASE_TEN,this.decimalLength)-1},getValue:function(){var v=Application.components.NumberField.superclass.getValue.apply(this,arguments);if(this.useNull&&v==="")v=null;return v},getErrors:function(value){var errors=Application.components.NumberField.superclass.getErrors.apply(this,arguments);if(!this.allowZero&&0==value)errors.push(this.zeroText);return errors}}); Ext.reg("Application.components.numberField",Application.components.numberField);Ext.reg("Application.components.NumberField",Application.components.numberField);Ext.ns("Application.components");Ext.define("Application.components.QuantityField",{extend:"Application.components.numberField",allowNegative:false,allowDecimals:true,decimalLength:12,initComponent:function(){Application.components.quantityField.superclass.initComponent.call(this);var format=Application.components.util.Format.getFormatQuantity();Ext.apply(this,format)}});Application.components.quantityField=Application.components.QuantityField;Ext.reg("Application.components.quantityField",Application.components.quantityField); Ext.reg("Application.components.QuantityField",Application.components.QuantityField);Ext.ns("Application.components");Application.components.VATField=Ext.extend(Application.components.NumberField,{allowNegative:false,allowDecimals:true,decimalLength:2,decimalPrecision:0});Ext.reg("Application.components.VATField",Application.components.VATField);Ext.ns("Application.components.percentField");Application.components.percentField=Ext.extend(Application.components.numberField,{allowNegative:false,allowDecimals:true,maxValue:100,decimalPrecision:2});Ext.reg("Application.components.percentField",Application.components.percentField);Ext.ns("Application.components.priceField");Application.components.priceField=Ext.extend(Application.components.NumberField,{allowNegative:false,allowDecimals:true,decimalLength:13,decimalPrecision:2});Ext.reg("Application.components.priceField",Application.components.priceField);Ext.ns("Ext.extension.grid"); Ext.extension.grid.ColumnHeaderGroup=Ext.extend(Ext.util.Observable,{constructor:function(config){this.config=config},init:function(grid){Ext.applyIf(grid.colModel,this.config);Ext.apply(grid.getView(),this.viewConfig)},viewConfig:{initTemplates:function(){this.constructor.prototype.initTemplates.apply(this,arguments);var templates=this.templates||{};if(!templates.gcell)templates.gcell=new Ext.XTemplate('', '
',this.grid.enableHdMenu?'':"","{value}"+"
"+"");this.templates=templates;this.hrowRe=new RegExp("ux-grid-hd-group-row-(\\d+)","")},renderHeaders:function(){var templates=this.templates,headers=[],cm=this.cm,rows=cm.rows,tstyle="width:"+this.getTotalWidth()+";";for(var rowIndex=0,rlen=rows.length;rowIndex=groupColspan&&col=0;parentItem.setChecked(checked,true);parentMenu=parentMenu.parentMenu}item.checked=!item.checked}}return true},afterRenderUI:function(){this.constructor.prototype.afterRenderUI.apply(this, arguments);Ext.apply(this.columnDrop,Ext.extension.grid.ColumnHeaderGroup.prototype.columnDropConfig);Ext.apply(this.splitZone,Ext.extension.grid.ColumnHeaderGroup.prototype.splitZoneConfig)}},splitZoneConfig:{allowHeaderDrag:function(e){return!e.getTarget(null,null,true).hasClass("ux-grid-hd-group-cell")}},columnDropConfig:{getTargetFromEvent:function(e){var target=Ext.lib.Event.getTarget(e);return this.view.findHeaderCell(target)},positionIndicator:function(h,n,e){var data=Ext.extension.grid.ColumnHeaderGroup.prototype.getDragDropData.call(this, h,n,e);if(data===false)return false;var px=data.px+this.proxyOffsets[0];this.proxyTop.setLeftTop(px,data.r.top+this.proxyOffsets[1]);this.proxyTop.show();this.proxyBottom.setLeftTop(px,data.r.bottom);this.proxyBottom.show();return data.pt},onNodeDrop:function(n,dd,e,data){var header=data.header;if(header!=n){var dragDropData=Ext.extension.grid.ColumnHeaderGroup.prototype.getDragDropData.call(this,header,n,e);if(dragDropData===false)return false;var cm=this.grid.colModel,right=dragDropData.oldIndex< dragDropData.newIndex,rows=cm.rows;for(var rowIndex=dragDropData.row,rlen=rows.length;rowIndex=groupColspan&&dragDropData.oldIndex=groupColspan&&dragDropData.oldIndex+dragDropData.colspan-1= groupColspan&&dragDropData.newIndex table"),totalWidth=this.getTotalWidth(),rows=this.cm.rows;for(var row=0;row=groupColspan&&col=groupColspan&&col=oldGroup.col&&newIndex<=oldGroup.col+oldGroup.colspan)return false;var parentGroup=Ext.extension.grid.ColumnHeaderGroup.prototype.getGroupSpan.call(this.view,row-1,oldIndex);if(newIndex parentGroup.col+parentGroup.colspan)return false;return{r:domRegion,px:px,pt:pt,row:row,oldIndex:oldIndexGroup,newIndex:newIndex,colspan:oldGroup.colspan}}});Ext.ns("Ext.extension.grid"); Ext.extension.grid.GridMaxHeight={rowHeight:undefined,maxRows:undefined,hideEmpty:undefined,visibleMaxRows:undefined,additionalHeight:undefined,init:function(grid){this.initEventsHandler(grid,this.checkParams(grid))},checkParams:function(grid){var defaultMaxRows=5;return{rowHeight:grid.rowHeight?grid.rowHeight:undefined,maxRows:grid.maxRows?grid.maxRows:defaultMaxRows,hideEmpty:grid.hideEmpty?grid.hideEmpty:false,additionalHeight:grid.additionalHeight?grid.additionalHeight:0,visibleMaxRows:grid.visibleMaxRows? grid.visibleMaxRows:0}},initEventsHandler:function(grid,config){var handler=function(){this.onStoreDataChanged(grid,config)};grid.getStore().on("add",handler,this);grid.getStore().on("clear",handler,this);grid.getStore().on("datachanged",handler,this);grid.getStore().on("load",handler,this);grid.getStore().on("remove",handler,this);grid.on("afterrender",handler,this,{single:true})},onStoreDataChanged:function(grid,config){if(!grid.rendered||grid.isDestroyed)return;var rows=grid.getStore().getCount(); if(0==rows&&!!config.hideEmpty){grid.hide();this.doLayout(grid);return}if(0==rows){var height=45;grid.body.setHeight(height);this.doLayout(grid);return}if(!grid.getView().getRow(0)&&rows>0){var millis=100;this.onStoreDataChanged.defer(millis,this,[grid,config]);return}var milliseconds=50;this.calc.defer(milliseconds,this,[grid,config,rows])},calc:function(grid,config,rows){if(!grid.rendered||grid.isDestroyed)return;var defaultHeaderHeight=25,headerHeight=grid.getView().mainHd?grid.getView().mainHd.getHeight(): defaultHeaderHeight,rowHeight=config.rowHeight?config.rowHeight:(new Ext.Element(grid.getView().getRow(0))).getHeight(false),multiplier=rows','',"{cells}","
","");this.rowTpl.disableFormats=true}this.rowTpl.compile();if(!this.cellTpl){this.cellTpl=new Ext.Template('', '
{value}
',"");this.cellTpl.disableFormats=true}this.cellTpl.compile()},calculate:function(rs,cm){var data={},r,cfg=cm.config,cf,i,len,cname,j,jlen;for(i=0,len=cfg.length;i0&&(y!==currY||y===0))this.restoreGridHScroll(); else this.syncScroll(v.scroller.dom,v.summaryWrap.dom,currX,currY)},restoreGridHScroll:function(){this.view.scroller.dom.scrollLeft=this.oldX||0},syncGridHScroll:function(){var v=this.view;this.syncScroll(v.summaryWrap.dom,v.scroller.dom)},doWidth:function(col,w,tw){var s=this.getSummaryNode(),fc=s.dom.firstChild;fc.style.width=tw;fc.rows[0].childNodes[col].style.width=w;this.updateSummaryWidth()},doAllWidths:function(ws,tw){var s=this.getSummaryNode(),fc=s.dom.firstChild,cells=fc.rows[0].childNodes, wlen=ws.length,j;fc.style.width=tw;for(j=0;j=0){if(format.decimalSeparator!=="."){digit=value.slice(0,i);decimal=value.slice(i+1);if(format.hideNullDecimal){value= digit;if(parseInt(decimal)>0)value=value+format.decimalSeparator+decimal}else value=digit+format.decimalSeparator+decimal}}else i=value.length;if(format.groupingSeparator)while(i>format.groupingSize){i-=format.groupingSize;value=value.slice(0,i)+format.groupingSeparator+value.slice(i)}if(format.currencySymbol)value=format.currencySymbol+value;if(neg)value="-"+value;return value};parseDate=function(date,formats){var d;if(Ext.isDate(date))return date;if(!formats)formats=["c","Y-m-d H:i:sp","Y-m-d H:i:s.u", "Y-m-d H:i:s.up","Y-m-d H:i:s"];if(!Ext.isArray(formats))formats=[formats];for(var i=0;i1)h-=1}return[h*360,s*100,v*100]};convert.rgb.hwb=function(rgb){var r= rgb[0];var g=rgb[1];var b=rgb[2];var h=convert.rgb.hsl(rgb)[0];var w=1/255*Math.min(r,Math.min(g,b));b=1-1/255*Math.max(r,Math.max(g,b));return[h,w*100,b*100]};convert.rgb.cmyk=function(rgb){var r=rgb[0]/255;var g=rgb[1]/255;var b=rgb[2]/255;var c;var m;var y;var k;k=Math.min(1-r,1-g,1-b);c=(1-r-k)/(1-k)||0;m=(1-g-k)/(1-k)||0;y=(1-b-k)/(1-k)||0;return[c*100,m*100,y*100,k*100]};function comparativeDistance(x,y){return Math.pow(x[0]-y[0],2)+Math.pow(x[1]-y[1],2)+Math.pow(x[2]-y[2],2)}convert.rgb.keyword= function(rgb){var reversed=reverseKeywords[rgb];if(reversed)return reversed;var currentClosestDistance=Infinity;var currentClosestKeyword;for(var keyword in colorName)if(colorName.hasOwnProperty(keyword)){var value=colorName[keyword];var distance=comparativeDistance(rgb,value);if(distance.04045?Math.pow((r+.055)/1.055,2.4):r/12.92;g=g>.04045?Math.pow((g+.055)/1.055,2.4):g/12.92;b=b>.04045?Math.pow((b+.055)/1.055,2.4):b/12.92;var x=r*.4124+g*.3576+b*.1805;var y=r*.2126+g*.7152+b*.0722;var z=r*.0193+g*.1192+b*.9505;return[x*100,y*100,z*100]};convert.rgb.lab=function(rgb){var xyz=convert.rgb.xyz(rgb);var x=xyz[0];var y=xyz[1];var z=xyz[2];var l;var a;var b;x/=95.047;y/=100;z/=108.883;x=x>.008856?Math.pow(x,1/3):7.787*x+16/116;y=y>.008856? Math.pow(y,1/3):7.787*y+16/116;z=z>.008856?Math.pow(z,1/3):7.787*z+16/116;l=116*y-16;a=500*(x-y);b=200*(y-z);return[l,a,b]};convert.hsl.rgb=function(hsl){var h=hsl[0]/360;var s=hsl[1]/100;var l=hsl[2]/100;var t1;var t2;var t3;var rgb;var val;if(s===0){val=l*255;return[val,val,val]}if(l<.5)t2=l*(1+s);else t2=l+s-l*s;t1=2*l-t2;rgb=[0,0,0];for(var i=0;i<3;i++){t3=h+1/3*-(i-1);if(t3<0)t3++;if(t3>1)t3--;if(6*t3<1)val=t1+(t2-t1)*6*t3;else if(2*t3<1)val=t2;else if(3*t3<2)val=t1+(t2-t1)*(2/3-t3)*6;else val= t1;rgb[i]=val*255}return rgb};convert.hsl.hsv=function(hsl){var h=hsl[0];var s=hsl[1]/100;var l=hsl[2]/100;var smin=s;var lmin=Math.max(l,.01);var sv;var v;l*=2;s*=l<=1?l:2-l;smin*=lmin<=1?lmin:2-lmin;v=(l+s)/2;sv=l===0?2*smin/(lmin+smin):2*s/(l+s);return[h,sv*100,v*100]};convert.hsv.rgb=function(hsv){var h=hsv[0]/60;var s=hsv[1]/100;var v=hsv[2]/100;var hi=Math.floor(h)%6;var f=h-Math.floor(h);var p=255*v*(1-s);var q=255*v*(1-s*f);var t=255*v*(1-s*(1-f));v*=255;switch(hi){case 0:return[v,t,p];case 1:return[q, v,p];case 2:return[p,v,t];case 3:return[p,q,v];case 4:return[t,p,v];case 5:return[v,p,q]}};convert.hsv.hsl=function(hsv){var h=hsv[0];var s=hsv[1]/100;var v=hsv[2]/100;var vmin=Math.max(v,.01);var lmin;var sl;var l;l=(2-s)*v;lmin=(2-s)*vmin;sl=s*vmin;sl/=lmin<=1?lmin:2-lmin;sl=sl||0;l/=2;return[h,sl*100,l*100]};convert.hwb.rgb=function(hwb){var h=hwb[0]/360;var wh=hwb[1]/100;var bl=hwb[2]/100;var ratio=wh+bl;var i;var v;var f;var n;if(ratio>1){wh/=ratio;bl/=ratio}i=Math.floor(6*h);v=1-bl;f=6*h-i; if((i&1)!==0)f=1-f;n=wh+f*(v-wh);var r;var g;var b;switch(i){default:case 6:case 0:r=v;g=n;b=wh;break;case 1:r=n;g=v;b=wh;break;case 2:r=wh;g=v;b=n;break;case 3:r=wh;g=n;b=v;break;case 4:r=n;g=wh;b=v;break;case 5:r=v;g=wh;b=n;break}return[r*255,g*255,b*255]};convert.cmyk.rgb=function(cmyk){var c=cmyk[0]/100;var m=cmyk[1]/100;var y=cmyk[2]/100;var k=cmyk[3]/100;var r;var g;var b;r=1-Math.min(1,c*(1-k)+k);g=1-Math.min(1,m*(1-k)+k);b=1-Math.min(1,y*(1-k)+k);return[r*255,g*255,b*255]};convert.xyz.rgb= function(xyz){var x=xyz[0]/100;var y=xyz[1]/100;var z=xyz[2]/100;var r;var g;var b;r=x*3.2406+y*-1.5372+z*-.4986;g=x*-.9689+y*1.8758+z*.0415;b=x*.0557+y*-.204+z*1.057;r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:r*12.92;g=g>.0031308?1.055*Math.pow(g,1/2.4)-.055:g*12.92;b=b>.0031308?1.055*Math.pow(b,1/2.4)-.055:b*12.92;r=Math.min(Math.max(0,r),1);g=Math.min(Math.max(0,g),1);b=Math.min(Math.max(0,b),1);return[r*255,g*255,b*255]};convert.xyz.lab=function(xyz){var x=xyz[0];var y=xyz[1];var z=xyz[2];var l; var a;var b;x/=95.047;y/=100;z/=108.883;x=x>.008856?Math.pow(x,1/3):7.787*x+16/116;y=y>.008856?Math.pow(y,1/3):7.787*y+16/116;z=z>.008856?Math.pow(z,1/3):7.787*z+16/116;l=116*y-16;a=500*(x-y);b=200*(y-z);return[l,a,b]};convert.lab.xyz=function(lab){var l=lab[0];var a=lab[1];var b=lab[2];var x;var y;var z;y=(l+16)/116;x=a/500+y;z=y-b/200;var y2=Math.pow(y,3);var x2=Math.pow(x,3);var z2=Math.pow(z,3);y=y2>.008856?y2:(y-16/116)/7.787;x=x2>.008856?x2:(x-16/116)/7.787;z=z2>.008856?z2:(z-16/116)/7.787; x*=95.047;y*=100;z*=108.883;return[x,y,z]};convert.lab.lch=function(lab){var l=lab[0];var a=lab[1];var b=lab[2];var hr;var h;var c;hr=Math.atan2(b,a);h=hr*360/2/Math.PI;if(h<0)h+=360;c=Math.sqrt(a*a+b*b);return[l,c,h]};convert.lch.lab=function(lch){var l=lch[0];var c=lch[1];var h=lch[2];var a;var b;var hr;hr=h/360*2*Math.PI;a=c*Math.cos(hr);b=c*Math.sin(hr);return[l,a,b]};convert.rgb.ansi16=function(args){var r=args[0];var g=args[1];var b=args[2];var value=1 in arguments?arguments[1]:convert.rgb.hsv(args)[2]; value=Math.round(value/50);if(value===0)return 30;var ansi=30+(Math.round(b/255)<<2|Math.round(g/255)<<1|Math.round(r/255));if(value===2)ansi+=60;return ansi};convert.hsv.ansi16=function(args){return convert.rgb.ansi16(convert.hsv.rgb(args),args[2])};convert.rgb.ansi256=function(args){var r=args[0];var g=args[1];var b=args[2];if(r===g&&g===b){if(r<8)return 16;if(r>248)return 231;return Math.round((r-8)/247*24)+232}var ansi=16+36*Math.round(r/255*5)+6*Math.round(g/255*5)+Math.round(b/255*5);return ansi}; convert.ansi16.rgb=function(args){var color=args%10;if(color===0||color===7){if(args>50)color+=3.5;color=color/10.5*255;return[color,color,color]}var mult=(~~(args>50)+1)*.5;var r=(color&1)*mult*255;var g=(color>>1&1)*mult*255;var b=(color>>2&1)*mult*255;return[r,g,b]};convert.ansi256.rgb=function(args){if(args>=232){var c=(args-232)*10+8;return[c,c,c]}args-=16;var rem;var r=Math.floor(args/36)/5*255;var g=Math.floor((rem=args%36)/6)/5*255;var b=rem%6/5*255;return[r,g,b]};convert.rgb.hex=function(args){var integer= ((Math.round(args[0])&255)<<16)+((Math.round(args[1])&255)<<8)+(Math.round(args[2])&255);var string=integer.toString(16).toUpperCase();return"000000".substring(string.length)+string};convert.hex.rgb=function(args){var match=args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!match)return[0,0,0];var colorString=match[0];if(match[0].length===3)colorString=colorString.split("").map(function(char){return char+char}).join("");var integer=parseInt(colorString,16);var r=integer>>16&255;var g=integer>> 8&255;var b=integer&255;return[r,g,b]};convert.rgb.hcg=function(rgb){var r=rgb[0]/255;var g=rgb[1]/255;var b=rgb[2]/255;var max=Math.max(Math.max(r,g),b);var min=Math.min(Math.min(r,g),b);var chroma=max-min;var grayscale;var hue;if(chroma<1)grayscale=min/(1-chroma);else grayscale=0;if(chroma<=0)hue=0;else if(max===r)hue=(g-b)/chroma%6;else if(max===g)hue=2+(b-r)/chroma;else hue=4+(r-g)/chroma+4;hue/=6;hue%=1;return[hue*360,chroma*100,grayscale*100]};convert.hsl.hcg=function(hsl){var s=hsl[1]/100; var l=hsl[2]/100;var c=1;var f=0;if(l<.5)c=2*s*l;else c=2*s*(1-l);if(c<1)f=(l-.5*c)/(1-c);return[hsl[0],c*100,f*100]};convert.hsv.hcg=function(hsv){var s=hsv[1]/100;var v=hsv[2]/100;var c=s*v;var f=0;if(c<1)f=(v-c)/(1-c);return[hsv[0],c*100,f*100]};convert.hcg.rgb=function(hcg){var h=hcg[0]/360;var c=hcg[1]/100;var g=hcg[2]/100;if(c===0)return[g*255,g*255,g*255];var pure=[0,0,0];var hi=h%1*6;var v=hi%1;var w=1-v;var mg=0;switch(Math.floor(hi)){case 0:pure[0]=1;pure[1]=v;pure[2]=0;break;case 1:pure[0]= w;pure[1]=1;pure[2]=0;break;case 2:pure[0]=0;pure[1]=1;pure[2]=v;break;case 3:pure[0]=0;pure[1]=w;pure[2]=1;break;case 4:pure[0]=v;pure[1]=0;pure[2]=1;break;default:pure[0]=1;pure[1]=0;pure[2]=w}mg=(1-c)*g;return[(c*pure[0]+mg)*255,(c*pure[1]+mg)*255,(c*pure[2]+mg)*255]};convert.hcg.hsv=function(hcg){var c=hcg[1]/100;var g=hcg[2]/100;var v=c+g*(1-c);var f=0;if(v>0)f=c/v;return[hcg[0],f*100,v*100]};convert.hcg.hsl=function(hcg){var c=hcg[1]/100;var g=hcg[2]/100;var l=g*(1-c)+.5*c;var s=0;if(l>0&&l< .5)s=c/(2*l);else if(l>=.5&&l<1)s=c/(2*(1-l));return[hcg[0],s*100,l*100]};convert.hcg.hwb=function(hcg){var c=hcg[1]/100;var g=hcg[2]/100;var v=c+g*(1-c);return[hcg[0],(v-c)*100,(1-v)*100]};convert.hwb.hcg=function(hwb){var w=hwb[1]/100;var b=hwb[2]/100;var v=1-b;var c=v-w;var g=0;if(c<1)g=(v-c)/(1-c);return[hwb[0],c*100,g*100]};convert.apple.rgb=function(apple){return[apple[0]/65535*255,apple[1]/65535*255,apple[2]/65535*255]};convert.rgb.apple=function(rgb){return[rgb[0]/255*65535,rgb[1]/255*65535, rgb[2]/255*65535]};convert.gray.rgb=function(args){return[args[0]/100*255,args[0]/100*255,args[0]/100*255]};convert.gray.hsl=convert.gray.hsv=function(args){return[0,0,args[0]]};convert.gray.hwb=function(gray){return[0,100,gray[0]]};convert.gray.cmyk=function(gray){return[0,0,0,gray[0]]};convert.gray.lab=function(gray){return[gray[0],0,0]};convert.gray.hex=function(gray){var val=Math.round(gray[0]/100*255)&255;var integer=(val<<16)+(val<<8)+val;var string=integer.toString(16).toUpperCase();return"000000".substring(string.length)+ string};convert.rgb.gray=function(rgb){var val=(rgb[0]+rgb[1]+rgb[2])/3;return[val/255*100]}});var conversions_1=conversions.rgb;var conversions_2=conversions.hsl;var conversions_3=conversions.hsv;var conversions_4=conversions.hwb;var conversions_5=conversions.cmyk;var conversions_6=conversions.xyz;var conversions_7=conversions.lab;var conversions_8=conversions.lch;var conversions_9=conversions.hex;var conversions_10=conversions.keyword;var conversions_11=conversions.ansi16;var conversions_12=conversions.ansi256; var conversions_13=conversions.hcg;var conversions_14=conversions.apple;var conversions_15=conversions.gray;function buildGraph(){var graph={};var models=Object.keys(conversions);for(var len=models.length,i=0;i 1)args=Array.prototype.slice.call(arguments);return fn(args)};if("conversion"in fn)wrappedFn.conversion=fn.conversion;return wrappedFn}function wrapRounded(fn){var wrappedFn=function(args){if(args===undefined||args===null)return args;if(arguments.length>1)args=Array.prototype.slice.call(arguments);var result=fn(args);if(typeof result==="object")for(var len=result.length,i=0;i=0&&a<1?hexDouble(Math.round(a*255)):"")}function rgbString(rgba,alpha){if(alpha<1||rgba[3]&&rgba[3]<1)return rgbaString(rgba, alpha);return"rgb("+rgba[0]+", "+rgba[1]+", "+rgba[2]+")"}function rgbaString(rgba,alpha){if(alpha===undefined)alpha=rgba[3]!==undefined?rgba[3]:1;return"rgba("+rgba[0]+", "+rgba[1]+", "+rgba[2]+", "+alpha+")"}function percentString(rgba,alpha){if(alpha<1||rgba[3]&&rgba[3]<1)return percentaString(rgba,alpha);var r=Math.round(rgba[0]/255*100),g=Math.round(rgba[1]/255*100),b=Math.round(rgba[2]/255*100);return"rgb("+r+"%, "+g+"%, "+b+"%)"}function percentaString(rgba,alpha){var r=Math.round(rgba[0]/ 255*100),g=Math.round(rgba[1]/255*100),b=Math.round(rgba[2]/255*100);return"rgba("+r+"%, "+g+"%, "+b+"%, "+(alpha||rgba[3]||1)+")"}function hslString(hsla,alpha){if(alpha<1||hsla[3]&&hsla[3]<1)return hslaString(hsla,alpha);return"hsl("+hsla[0]+", "+hsla[1]+"%, "+hsla[2]+"%)"}function hslaString(hsla,alpha){if(alpha===undefined)alpha=hsla[3]!==undefined?hsla[3]:1;return"hsla("+hsla[0]+", "+hsla[1]+"%, "+hsla[2]+"%, "+alpha+")"}function hwbString(hwb,alpha){if(alpha===undefined)alpha=hwb[3]!==undefined? hwb[3]:1;return"hwb("+hwb[0]+", "+hwb[1]+"%, "+hwb[2]+"%"+(alpha!==undefined&&alpha!==1?", "+alpha:"")+")"}function keyword(rgb){return reverseNames[rgb.slice(0,3)]}function scale(num,min,max){return Math.min(Math.max(min,num),max)}function hexDouble(num){var str=num.toString(16).toUpperCase();return str.length<2?"0"+str:str}var reverseNames={};for(var name in colorName$1)reverseNames[colorName$1[name]]=name;var Color=function(obj){if(obj instanceof Color)return obj;if(!(this instanceof Color))return new Color(obj); this.valid=false;this.values={rgb:[0,0,0],hsl:[0,0,0],hsv:[0,0,0],hwb:[0,0,0],cmyk:[0,0,0,0],alpha:1};var vals;if(typeof obj==="string"){vals=colorString.getRgba(obj);if(vals)this.setValues("rgb",vals);else if(vals=colorString.getHsla(obj))this.setValues("hsl",vals);else if(vals=colorString.getHwb(obj))this.setValues("hwb",vals)}else if(typeof obj==="object"){vals=obj;if(vals.r!==undefined||vals.red!==undefined)this.setValues("rgb",vals);else if(vals.l!==undefined||vals.lightness!==undefined)this.setValues("hsl", vals);else if(vals.v!==undefined||vals.value!==undefined)this.setValues("hsv",vals);else if(vals.w!==undefined||vals.whiteness!==undefined)this.setValues("hwb",vals);else if(vals.c!==undefined||vals.cyan!==undefined)this.setValues("cmyk",vals)}};Color.prototype={isValid:function(){return this.valid},rgb:function(){return this.setSpace("rgb",arguments)},hsl:function(){return this.setSpace("hsl",arguments)},hsv:function(){return this.setSpace("hsv",arguments)},hwb:function(){return this.setSpace("hwb", arguments)},cmyk:function(){return this.setSpace("cmyk",arguments)},rgbArray:function(){return this.values.rgb},hslArray:function(){return this.values.hsl},hsvArray:function(){return this.values.hsv},hwbArray:function(){var values=this.values;if(values.alpha!==1)return values.hwb.concat([values.alpha]);return values.hwb},cmykArray:function(){return this.values.cmyk},rgbaArray:function(){var values=this.values;return values.rgb.concat([values.alpha])},hslaArray:function(){var values=this.values;return values.hsl.concat([values.alpha])}, alpha:function(val){if(val===undefined)return this.values.alpha;this.setValues("alpha",val);return this},red:function(val){return this.setChannel("rgb",0,val)},green:function(val){return this.setChannel("rgb",1,val)},blue:function(val){return this.setChannel("rgb",2,val)},hue:function(val){if(val){val%=360;val=val<0?360+val:val}return this.setChannel("hsl",0,val)},saturation:function(val){return this.setChannel("hsl",1,val)},lightness:function(val){return this.setChannel("hsl",2,val)},saturationv:function(val){return this.setChannel("hsv", 1,val)},whiteness:function(val){return this.setChannel("hwb",1,val)},blackness:function(val){return this.setChannel("hwb",2,val)},value:function(val){return this.setChannel("hsv",2,val)},cyan:function(val){return this.setChannel("cmyk",0,val)},magenta:function(val){return this.setChannel("cmyk",1,val)},yellow:function(val){return this.setChannel("cmyk",2,val)},black:function(val){return this.setChannel("cmyk",3,val)},hexString:function(){return colorString.hexString(this.values.rgb)},rgbString:function(){return colorString.rgbString(this.values.rgb, this.values.alpha)},rgbaString:function(){return colorString.rgbaString(this.values.rgb,this.values.alpha)},percentString:function(){return colorString.percentString(this.values.rgb,this.values.alpha)},hslString:function(){return colorString.hslString(this.values.hsl,this.values.alpha)},hslaString:function(){return colorString.hslaString(this.values.hsl,this.values.alpha)},hwbString:function(){return colorString.hwbString(this.values.hwb,this.values.alpha)},keyword:function(){return colorString.keyword(this.values.rgb, this.values.alpha)},rgbNumber:function(){var rgb=this.values.rgb;return rgb[0]<<16|rgb[1]<<8|rgb[2]},luminosity:function(){var rgb=this.values.rgb;var lum=[];for(var i=0;ilum2)return(lum1+.05)/(lum2+.05);return(lum2+.05)/(lum1+.05)},level:function(color2){var contrastRatio= this.contrast(color2);if(contrastRatio>=7.1)return"AAA";return contrastRatio>=4.5?"AA":""},dark:function(){var rgb=this.values.rgb;var yiq=(rgb[0]*299+rgb[1]*587+rgb[2]*114)/1E3;return yiq<128},light:function(){return!this.dark()},negate:function(){var rgb=[];for(var i=0;i<3;i++)rgb[i]=255-this.values.rgb[i];this.setValues("rgb",rgb);return this},lighten:function(ratio){var hsl=this.values.hsl;hsl[2]+=hsl[2]*ratio;this.setValues("hsl",hsl);return this},darken:function(ratio){var hsl=this.values.hsl; hsl[2]-=hsl[2]*ratio;this.setValues("hsl",hsl);return this},saturate:function(ratio){var hsl=this.values.hsl;hsl[1]+=hsl[1]*ratio;this.setValues("hsl",hsl);return this},desaturate:function(ratio){var hsl=this.values.hsl;hsl[1]-=hsl[1]*ratio;this.setValues("hsl",hsl);return this},whiten:function(ratio){var hwb=this.values.hwb;hwb[1]+=hwb[1]*ratio;this.setValues("hwb",hwb);return this},blacken:function(ratio){var hwb=this.values.hwb;hwb[2]+=hwb[2]*ratio;this.setValues("hwb",hwb);return this},greyscale:function(){var rgb= this.values.rgb;var val=rgb[0]*.3+rgb[1]*.59+rgb[2]*.11;this.setValues("rgb",[val,val,val]);return this},clearer:function(ratio){var alpha=this.values.alpha;this.setValues("alpha",alpha-alpha*ratio);return this},opaquer:function(ratio){var alpha=this.values.alpha;this.setValues("alpha",alpha+alpha*ratio);return this},rotate:function(degrees){var hsl=this.values.hsl;var hue=(hsl[0]+degrees)%360;hsl[0]=hue<0?360+hue:hue;this.setValues("hsl",hsl);return this},mix:function(mixinColor,weight){var color1= this;var color2=mixinColor;var p=weight===undefined?.5:weight;var w=2*p-1;var a=color1.alpha()-color2.alpha();var w1=((w*a===-1?w:(w+a)/(1+w*a))+1)/2;var w2=1-w1;return this.rgb(w1*color1.red()+w2*color2.red(),w1*color1.green()+w2*color2.green(),w1*color1.blue()+w2*color2.blue()).alpha(color1.alpha()*p+color2.alpha()*(1-p))},toJSON:function(){return this.rgb()},clone:function(){var result=new Color;var source=this.values;var target=result.values;var value,type;for(var prop in source)if(source.hasOwnProperty(prop)){value= source[prop];type={}.toString.call(value);if(type==="[object Array]")target[prop]=value.slice(0);else if(type==="[object Number]")target[prop]=value;else console.error("unexpected color value:",value)}return result}};Color.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]};Color.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360, 100,100],cmyk:[100,100,100,100]};Color.prototype.getValues=function(space){var values=this.values;var vals={};for(var i=0;i=0;i--)fn.call(thisArg,loopable[i],i);else for(i=0;i= 1)return t;return-(Math.sqrt(1-t*t)-1)},easeOutCirc:function(t){return Math.sqrt(1-(t=t-1)*t)},easeInOutCirc:function(t){if((t/=.5)<1)return-.5*(Math.sqrt(1-t*t)-1);return.5*(Math.sqrt(1-(t-=2)*t)+1)},easeInElastic:function(t){var s=1.70158;var p=0;var a=1;if(t===0)return 0;if(t===1)return 1;if(!p)p=.3;if(a<1){a=1;s=p/4}else s=p/(2*Math.PI)*Math.asin(1/a);return-(a*Math.pow(2,10*(t-=1))*Math.sin((t-s)*(2*Math.PI)/p))},easeOutElastic:function(t){var s=1.70158;var p=0;var a=1;if(t===0)return 0;if(t=== 1)return 1;if(!p)p=.3;if(a<1){a=1;s=p/4}else s=p/(2*Math.PI)*Math.asin(1/a);return a*Math.pow(2,-10*t)*Math.sin((t-s)*(2*Math.PI)/p)+1},easeInOutElastic:function(t){var s=1.70158;var p=0;var a=1;if(t===0)return 0;if((t/=.5)===2)return 1;if(!p)p=.45;if(a<1){a=1;s=p/4}else s=p/(2*Math.PI)*Math.asin(1/a);if(t<1)return-.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t-s)*(2*Math.PI)/p));return a*Math.pow(2,-10*(t-=1))*Math.sin((t-s)*(2*Math.PI)/p)*.5+1},easeInBack:function(t){var s=1.70158;return t*t*((s+1)*t- s)},easeOutBack:function(t){var s=1.70158;return(t=t-1)*t*((s+1)*t+s)+1},easeInOutBack:function(t){var s=1.70158;if((t/=.5)<1)return.5*(t*t*(((s*=1.525)+1)*t-s));return.5*((t-=2)*t*(((s*=1.525)+1)*t+s)+2)},easeInBounce:function(t){return 1-effects.easeOutBounce(1-t)},easeOutBounce:function(t){if(t<1/2.75)return 7.5625*t*t;if(t<2/2.75)return 7.5625*(t-=1.5/2.75)*t+.75;if(t<2.5/2.75)return 7.5625*(t-=2.25/2.75)*t+.9375;return 7.5625*(t-=2.625/2.75)*t+.984375},easeInOutBounce:function(t){if(t<.5)return effects.easeInBounce(t* 2)*.5;return effects.easeOutBounce(t*2-1)*.5+.5}};var helpers_easing={effects:effects};helpers_core.easingEffects=effects;var PI=Math.PI;var RAD_PER_DEG=PI/180;var DOUBLE_PI=PI*2;var HALF_PI=PI/2;var QUARTER_PI=PI/4;var TWO_THIRDS_PI=PI*2/3;var exports$1={clear:function(chart){chart.ctx.clearRect(0,0,chart.width,chart.height)},roundedRect:function(ctx,x,y,width,height,radius){if(radius){var r=Math.min(radius,height/2,width/2);var left=x+r;var top=y+r;var right=x+width-r;var bottom=y+height-r;ctx.moveTo(x, top);if(leftarea.left-epsilon&&point.xarea.top-epsilon&&point.y0)me.requestAnimationFrame()},advance:function(){var animations=this.animations;var animation,chart,numSteps,nextStep;var i=0;while(i=numSteps){helpers$1.callback(animation.onAnimationComplete,[animation],chart);chart.animating=false;animations.splice(i,1)}else++i}}};var resolve=helpers$1.options.resolve; var arrayEvents=["push","pop","shift","splice","unshift"];function listenArrayEvents(array,listener){if(array._chartjs){array._chartjs.listeners.push(listener);return}Object.defineProperty(array,"_chartjs",{configurable:true,enumerable:false,value:{listeners:[listener]}});arrayEvents.forEach(function(key){var method="onData"+key.charAt(0).toUpperCase()+key.slice(1);var base=array[key];Object.defineProperty(array,key,{configurable:true,enumerable:false,value:function(){var args=Array.prototype.slice.call(arguments); var res=base.apply(this,args);helpers$1.each(array._chartjs.listeners,function(object){if(typeof object[method]==="function")object[method].apply(object,args)});return res}})})}function unlistenArrayEvents(array,listener){var stub=array._chartjs;if(!stub)return;var listeners=stub.listeners;var index=listeners.indexOf(listener);if(index!==-1)listeners.splice(index,1);if(listeners.length>0)return;arrayEvents.forEach(function(key){delete array[key]});delete array._chartjs}var DatasetController=function(chart, datasetIndex){this.initialize(chart,datasetIndex)};helpers$1.extend(DatasetController.prototype,{datasetElementType:null,dataElementType:null,_datasetElementOptions:["backgroundColor","borderCapStyle","borderColor","borderDash","borderDashOffset","borderJoinStyle","borderWidth"],_dataElementOptions:["backgroundColor","borderColor","borderWidth","pointStyle"],initialize:function(chart,datasetIndex){var me=this;me.chart=chart;me.index=datasetIndex;me.linkScales();me.addElements();me._type=me.getMeta().type}, updateIndex:function(datasetIndex){this.index=datasetIndex},linkScales:function(){var me=this;var meta=me.getMeta();var chart=me.chart;var scales=chart.scales;var dataset=me.getDataset();var scalesOpts=chart.options.scales;if(meta.xAxisID===null||!(meta.xAxisID in scales)||dataset.xAxisID)meta.xAxisID=dataset.xAxisID||scalesOpts.xAxes[0].id;if(meta.yAxisID===null||!(meta.yAxisID in scales)||dataset.yAxisID)meta.yAxisID=dataset.yAxisID||scalesOpts.yAxes[0].id},getDataset:function(){return this.chart.data.datasets[this.index]}, getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(scaleID){return this.chart.scales[scaleID]},_getValueScaleId:function(){return this.getMeta().yAxisID},_getIndexScaleId:function(){return this.getMeta().xAxisID},_getValueScale:function(){return this.getScaleForId(this._getValueScaleId())},_getIndexScale:function(){return this.getScaleForId(this._getIndexScaleId())},reset:function(){this._update(true)},destroy:function(){if(this._data)unlistenArrayEvents(this._data, this)},createMetaDataset:function(){var me=this;var type=me.datasetElementType;return type&&new type({_chart:me.chart,_datasetIndex:me.index})},createMetaData:function(index){var me=this;var type=me.dataElementType;return type&&new type({_chart:me.chart,_datasetIndex:me.index,_index:index})},addElements:function(){var me=this;var meta=me.getMeta();var data=me.getDataset().data||[];var metaData=meta.data;var i,ilen;for(i=0,ilen=data.length;inumMeta)me.insertElements(numMeta,numData-numMeta)},insertElements:function(start,count){for(var i=0;ipixelMargin){angleMargin=pixelMargin/arc.innerRadius;ctx.arc(x,y,arc.innerRadius-pixelMargin,endAngle+angleMargin,startAngle-angleMargin,true)}else ctx.arc(x,y,pixelMargin,endAngle+Math.PI/2,startAngle-Math.PI/2);ctx.closePath();ctx.clip()}function drawFullCircleBorders(ctx,vm,arc,inner){var endAngle= arc.endAngle;var i;if(inner){arc.endAngle=arc.startAngle+TAU;clipArc(ctx,arc);arc.endAngle=endAngle;if(arc.endAngle===arc.startAngle&&arc.fullCircles){arc.endAngle+=TAU;arc.fullCircles--}}ctx.beginPath();ctx.arc(arc.x,arc.y,arc.innerRadius,arc.startAngle+TAU,arc.startAngle,true);for(i=0;iendAngle)angle-=TAU;while(angle=startAngle&&angle<=endAngle;var withinRadius= distance>=vm.innerRadius&&distance<=vm.outerRadius;return betweenAngles&&withinRadius}return false},getCenterPoint:function(){var vm=this._view;var halfAngle=(vm.startAngle+vm.endAngle)/2;var halfRadius=(vm.innerRadius+vm.outerRadius)/2;return{x:vm.x+Math.cos(halfAngle)*halfRadius,y:vm.y+Math.sin(halfAngle)*halfRadius}},getArea:function(){var vm=this._view;return Math.PI*((vm.endAngle-vm.startAngle)/(2*Math.PI))*(Math.pow(vm.outerRadius,2)-Math.pow(vm.innerRadius,2))},tooltipPosition:function(){var vm= this._view;var centreAngle=vm.startAngle+(vm.endAngle-vm.startAngle)/2;var rangeFromCentre=(vm.outerRadius-vm.innerRadius)/2+vm.innerRadius;return{x:vm.x+Math.cos(centreAngle)*rangeFromCentre,y:vm.y+Math.sin(centreAngle)*rangeFromCentre}},draw:function(){var ctx=this._chart.ctx;var vm=this._view;var pixelMargin=vm.borderAlign==="inner"?.33:0;var arc={x:vm.x,y:vm.y,innerRadius:vm.innerRadius,outerRadius:Math.max(vm.outerRadius-pixelMargin,0),pixelMargin:pixelMargin,startAngle:vm.startAngle,endAngle:vm.endAngle, fullCircles:Math.floor(vm.circumference/TAU)};var i;ctx.save();ctx.fillStyle=vm.backgroundColor;ctx.strokeStyle=vm.borderColor;if(arc.fullCircles){arc.endAngle=arc.startAngle+TAU;ctx.beginPath();ctx.arc(arc.x,arc.y,arc.outerRadius,arc.startAngle,arc.endAngle);ctx.arc(arc.x,arc.y,arc.innerRadius,arc.endAngle,arc.startAngle,true);ctx.closePath();for(i=0;ivm.x)edge=swap(edge,"left","right")}else if(vm.basemaxH?maxH:t,r:skip.right||r<0?0:r>maxW?maxW:r,b:skip.bottom||b<0?0:b>maxH?maxH:b,l:skip.left||l<0?0:l>maxW?maxW:l}}function boundingRects(vm){var bounds=getBarBounds(vm);var width=bounds.right-bounds.left;var height=bounds.bottom-bounds.top;var border=parseBorderWidth(vm,width/2,height/2);return{outer:{x:bounds.left, y:bounds.top,w:width,h:height},inner:{x:bounds.left+border.l,y:bounds.top+border.t,w:width-border.l-border.r,h:height-border.t-border.b}}}function inRange(vm,x,y){var skipX=x===null;var skipY=y===null;var bounds=!vm||skipX&&skipY?false:getBarBounds(vm);return bounds&&(skipX||x>=bounds.left&&x<=bounds.right)&&(skipY||y>=bounds.top&&y<=bounds.bottom)}var element_rectangle=core_element.extend({_type:"rectangle",draw:function(){var ctx=this._chart.ctx;var vm=this._view;var rects=boundingRects(vm);var outer= rects.outer;var inner=rects.inner;ctx.fillStyle=vm.backgroundColor;ctx.fillRect(outer.x,outer.y,outer.w,outer.h);if(outer.w===inner.w&&outer.h===inner.h)return;ctx.save();ctx.beginPath();ctx.rect(outer.x,outer.y,outer.w,outer.h);ctx.clip();ctx.fillStyle=vm.borderColor;ctx.rect(inner.x,inner.y,inner.w,inner.h);ctx.fill("evenodd");ctx.restore()},height:function(){var vm=this._view;return vm.base-vm.y},inRange:function(mouseX,mouseY){return inRange(this._view,mouseX,mouseY)},inLabelRange:function(mouseX, mouseY){var vm=this._view;return isVertical(vm)?inRange(vm,mouseX,null):inRange(vm,null,mouseY)},inXRange:function(mouseX){return inRange(this._view,mouseX,null)},inYRange:function(mouseY){return inRange(this._view,null,mouseY)},getCenterPoint:function(){var vm=this._view;var x,y;if(isVertical(vm)){x=vm.x;y=(vm.y+vm.base)/2}else{x=(vm.x+vm.base)/2;y=vm.y}return{x:x,y:y}},getArea:function(){var vm=this._view;return isVertical(vm)?vm.width*Math.abs(vm.y-vm.base):vm.height*Math.abs(vm.x-vm.base)},tooltipPosition:function(){var vm= this._view;return{x:vm.x,y:vm.y}}});var elements={};var Arc=element_arc;var Line=element_line;var Point=element_point;var Rectangle=element_rectangle;elements.Arc=Arc;elements.Line=Line;elements.Point=Point;elements.Rectangle=Rectangle;var deprecated=helpers$1._deprecated;var valueOrDefault$3=helpers$1.valueOrDefault;core_defaults._set("bar",{hover:{mode:"label"},scales:{xAxes:[{type:"category",offset:true,gridLines:{offsetGridLines:true}}],yAxes:[{type:"linear"}]}});core_defaults._set("global",{datasets:{bar:{categoryPercentage:.8, barPercentage:.9}}});function computeMinSampleSize(scale,pixels){var min=scale._length;var prev,curr,i,ilen;for(i=1,ilen=pixels.length;i0?Math.min(min,Math.abs(curr-prev)):min;prev=curr}return min}function computeFitCategoryTraits(index,ruler,options){var thickness=options.barThickness;var count=ruler.stackCount;var curr=ruler.pixels[index];var min=helpers$1.isNullOrUndef(thickness)? computeMinSampleSize(ruler.scale,ruler.pixels):-1;var size,ratio;if(helpers$1.isNullOrUndef(thickness)){size=min*options.categoryPercentage;ratio=options.barPercentage}else{size=thickness*count;ratio=1}return{chunk:size/count,ratio:ratio,start:curr-size/2}}function computeFlexCategoryTraits(index,ruler,options){var pixels=ruler.pixels;var curr=pixels[index];var prev=index>0?pixels[index-1]:null;var next=index=0&&value.min>=0?value.min:value.max;var length=value.start===undefined?value.end:value.max>=0&&value.min>=0?value.max-value.min:value.min-value.max;var ilen=metasets.length;var i,imeta,ivalue,base,head,size,stackLength;if(stacked||stacked===undefined&&stack!==undefined)for(i=0;i=0&&stackLength.max>=0?stackLength.max:stackLength.min;if(value.min<0&&ivalue<0||value.max>=0&&ivalue>0)start+=ivalue}}base=scale.getPixelForValue(start);head=scale.getPixelForValue(start+length);size=head-base;if(minBarLength!==undefined&&Math.abs(size)=0&&!isHorizontal||length<0&&isHorizontal)head=base-minBarLength;else head=base+minBarLength}return{size:size,base:base,head:head,center:head+ size/2}},calculateBarIndexPixels:function(datasetIndex,index,ruler,options){var me=this;var range=options.barThickness==="flex"?computeFlexCategoryTraits(index,ruler,options):computeFitCategoryTraits(index,ruler,options);var stackIndex=me.getStackIndex(datasetIndex,me.getMeta().stack);var center=range.start+range.chunk*stackIndex+range.chunk/2;var size=Math.min(valueOrDefault$3(options.maxBarThickness,Infinity),range.chunk*range.ratio);return{base:center-size/2,head:center+size/2,center:center,size:size}}, draw:function(){var me=this;var chart=me.chart;var scale=me._getValueScale();var rects=me.getMeta().data;var dataset=me.getDataset();var ilen=rects.length;var i=0;helpers$1.canvas.clipArea(chart.ctx,chart.chartArea);for(;i=PI$1?-DOUBLE_PI$1:startAngle<-PI$1?DOUBLE_PI$1:0;var endAngle=startAngle+circumference;var startX=Math.cos(startAngle);var startY=Math.sin(startAngle);var endX=Math.cos(endAngle);var endY=Math.sin(endAngle);var contains0=startAngle<=0&&endAngle>=0||endAngle>=DOUBLE_PI$1;var contains90=startAngle<=HALF_PI$1&&endAngle>=HALF_PI$1||endAngle>=DOUBLE_PI$1+HALF_PI$1;var contains180=startAngle===-PI$1||endAngle>=PI$1;var contains270= startAngle<=-HALF_PI$1&&endAngle>=-HALF_PI$1||endAngle>=PI$1+HALF_PI$1;var minX=contains180?-1:Math.min(startX,startX*cutout,endX,endX*cutout);var minY=contains270?-1:Math.min(startY,startY*cutout,endY,endY*cutout);var maxX=contains0?1:Math.max(startX,startX*cutout,endX,endX*cutout);var maxY=contains90?1:Math.max(startY,startY*cutout,endY,endY*cutout);ratioX=(maxX-minX)/2;ratioY=(maxY-minY)/2;offsetX=-(maxX+minX)/2;offsetY=-(maxY+minY)/2}for(i=0,ilen=arcs.length;i0&&!isNaN(value))return DOUBLE_PI$1*(Math.abs(value)/total);return 0},getMaxBorderWidth:function(arcs){var me=this;var max= 0;var chart=me.chart;var i,ilen,meta,arc,controller,options,borderWidth,hoverWidth;if(!arcs)for(i=0,ilen=chart.data.datasets.length;imax?borderWidth:max;max=hoverWidth>max?hoverWidth:max}}return max},setHoverStyle:function(arc){var model=arc._model;var options=arc._options;var getHoverColor=helpers$1.getHoverColor;arc.$previousStyle={backgroundColor:model.backgroundColor,borderColor:model.borderColor,borderWidth:model.borderWidth};model.backgroundColor=valueOrDefault$5(options.hoverBackgroundColor,getHoverColor(options.backgroundColor));model.borderColor=valueOrDefault$5(options.hoverBorderColor, getHoverColor(options.borderColor));model.borderWidth=valueOrDefault$5(options.hoverBorderWidth,options.borderWidth)},_getRingWeightOffset:function(datasetIndex){var ringWeightOffset=0;for(var i=0;i0&&isPointInArea(points[i-1]._model,area)){model.controlPointPreviousX=capControlPoint(model.controlPointPreviousX,area.left,area.right);model.controlPointPreviousY=capControlPoint(model.controlPointPreviousY,area.top,area.bottom)}if(i0)items=chart.getDatasetMeta(items[0]._datasetIndex).data;return items},"x-axis":function(chart,e){return indexMode(chart,e,{intersect:false})},point:function(chart,e){var position=getRelativePosition(e,chart);return getIntersectItems(chart,position)},nearest:function(chart,e,options){var position=getRelativePosition(e,chart);options.axis=options.axis||"xy";var distanceMetric= getDistanceMetricForAxis(options.axis);return getNearestItems(chart,position,options.intersect,distanceMetric)},x:function(chart,e,options){var position=getRelativePosition(e,chart);var items=[];var intersectsItem=false;parseVisibleItems(chart,function(element){if(element.inXRange(position.x))items.push(element);if(element.inRange(position.x,position.y))intersectsItem=true});if(options.intersect&&!intersectsItem)items=[];return items},y:function(chart,e,options){var position=getRelativePosition(e, chart);var items=[];var intersectsItem=false;parseVisibleItems(chart,function(element){if(element.inYRange(position.y))items.push(element);if(element.inRange(position.x,position.y))intersectsItem=true});if(options.intersect&&!intersectsItem)items=[];return items}}};var extend=helpers$1.extend;function filterByPosition(array,position){return helpers$1.where(array,function(v){return v.pos===position})}function sortByWeight(array,reverse){return array.sort(function(a,b){var v0=reverse?b:a;var v1=reverse? a:b;return v0.weight===v1.weight?v0.index-v1.index:v0.weight-v1.weight})}function wrapBoxes(boxes){var layoutBoxes=[];var i,ilen,box;for(i=0,ilen=(boxes||[]).length;i0){var item=tooltipItems[0];if(item.label)title=item.label;else if(item.xLabel)title=item.xLabel;else if(labelCount>0&&item.index-1)return str.split("\n");return str}function createTooltipItem(element){var xScale=element._xScale;var yScale=element._yScale||element._scale;var index=element._index;var datasetIndex=element._datasetIndex;var controller=element._chart.getDatasetMeta(datasetIndex).controller;var indexScale=controller._getIndexScale();var valueScale=controller._getValueScale();return{xLabel:xScale?xScale.getLabelForIndex(index,datasetIndex):"",yLabel:yScale?yScale.getLabelForIndex(index, datasetIndex):"",label:indexScale?""+indexScale.getLabelForIndex(index,datasetIndex):"",value:valueScale?""+valueScale.getLabelForIndex(index,datasetIndex):"",index:index,datasetIndex:datasetIndex,x:element._model.x,y:element._model.y}}function getBaseModel(tooltipOpts){var globalDefaults=core_defaults.global;return{xPadding:tooltipOpts.xPadding,yPadding:tooltipOpts.yPadding,xAlign:tooltipOpts.xAlign,yAlign:tooltipOpts.yAlign,rtl:tooltipOpts.rtl,textDirection:tooltipOpts.textDirection,bodyFontColor:tooltipOpts.bodyFontColor, _bodyFontFamily:valueOrDefault$8(tooltipOpts.bodyFontFamily,globalDefaults.defaultFontFamily),_bodyFontStyle:valueOrDefault$8(tooltipOpts.bodyFontStyle,globalDefaults.defaultFontStyle),_bodyAlign:tooltipOpts.bodyAlign,bodyFontSize:valueOrDefault$8(tooltipOpts.bodyFontSize,globalDefaults.defaultFontSize),bodySpacing:tooltipOpts.bodySpacing,titleFontColor:tooltipOpts.titleFontColor,_titleFontFamily:valueOrDefault$8(tooltipOpts.titleFontFamily,globalDefaults.defaultFontFamily),_titleFontStyle:valueOrDefault$8(tooltipOpts.titleFontStyle, globalDefaults.defaultFontStyle),titleFontSize:valueOrDefault$8(tooltipOpts.titleFontSize,globalDefaults.defaultFontSize),_titleAlign:tooltipOpts.titleAlign,titleSpacing:tooltipOpts.titleSpacing,titleMarginBottom:tooltipOpts.titleMarginBottom,footerFontColor:tooltipOpts.footerFontColor,_footerFontFamily:valueOrDefault$8(tooltipOpts.footerFontFamily,globalDefaults.defaultFontFamily),_footerFontStyle:valueOrDefault$8(tooltipOpts.footerFontStyle,globalDefaults.defaultFontStyle),footerFontSize:valueOrDefault$8(tooltipOpts.footerFontSize, globalDefaults.defaultFontSize),_footerAlign:tooltipOpts.footerAlign,footerSpacing:tooltipOpts.footerSpacing,footerMarginTop:tooltipOpts.footerMarginTop,caretSize:tooltipOpts.caretSize,cornerRadius:tooltipOpts.cornerRadius,backgroundColor:tooltipOpts.backgroundColor,opacity:0,legendColorBackground:tooltipOpts.multiKeyBackground,displayColors:tooltipOpts.displayColors,borderColor:tooltipOpts.borderColor,borderWidth:tooltipOpts.borderWidth}}function getTooltipSize(tooltip,model){var ctx=tooltip._chart.ctx; var height=model.yPadding*2;var width=0;var body=model.body;var combinedBodyLength=body.reduce(function(count,bodyItem){return count+bodyItem.before.length+bodyItem.lines.length+bodyItem.after.length},0);combinedBodyLength+=model.beforeBody.length+model.afterBody.length;var titleLineCount=model.title.length;var footerLineCount=model.footer.length;var titleFontSize=model.titleFontSize;var bodyFontSize=model.bodyFontSize;var footerFontSize=model.footerFontSize;height+=titleLineCount*titleFontSize;height+= titleLineCount?(titleLineCount-1)*model.titleSpacing:0;height+=titleLineCount?model.titleMarginBottom:0;height+=combinedBodyLength*bodyFontSize;height+=combinedBodyLength?(combinedBodyLength-1)*model.bodySpacing:0;height+=footerLineCount?model.footerMarginTop:0;height+=footerLineCount*footerFontSize;height+=footerLineCount?(footerLineCount-1)*model.footerSpacing:0;var widthPadding=0;var maxLineWidth=function(line){width=Math.max(width,ctx.measureText(line).width+widthPadding)};ctx.font=helpers$1.fontString(titleFontSize, model._titleFontStyle,model._titleFontFamily);helpers$1.each(model.title,maxLineWidth);ctx.font=helpers$1.fontString(bodyFontSize,model._bodyFontStyle,model._bodyFontFamily);helpers$1.each(model.beforeBody.concat(model.afterBody),maxLineWidth);widthPadding=model.displayColors?bodyFontSize+2:0;helpers$1.each(body,function(bodyItem){helpers$1.each(bodyItem.before,maxLineWidth);helpers$1.each(bodyItem.lines,maxLineWidth);helpers$1.each(bodyItem.after,maxLineWidth)});widthPadding=0;ctx.font=helpers$1.fontString(footerFontSize, model._footerFontStyle,model._footerFontFamily);helpers$1.each(model.footer,maxLineWidth);width+=2*model.xPadding;return{width:width,height:height}}function determineAlignment(tooltip,size){var model=tooltip._model;var chart=tooltip._chart;var chartArea=tooltip._chart.chartArea;var xAlign="center";var yAlign="center";if(model.ychart.height-size.height)yAlign="bottom";var lf,rf;var olf,orf;var yf;var midX=(chartArea.left+chartArea.right)/2;var midY=(chartArea.top+ chartArea.bottom)/2;if(yAlign==="center"){lf=function(x){return x<=midX};rf=function(x){return x>midX}}else{lf=function(x){return x<=size.width/2};rf=function(x){return x>=chart.width-size.width/2}}olf=function(x){return x+size.width+model.caretSize+model.caretPadding>chart.width};orf=function(x){return x-size.width-model.caretSize-model.caretPadding<0};yf=function(y){return y<=midY?"top":"bottom"};if(lf(model.x)){xAlign="left";if(olf(model.x)){xAlign="center";yAlign=yf(model.y)}}else if(rf(model.x)){xAlign= "right";if(orf(model.x)){xAlign="center";yAlign=yf(model.y)}}var opts=tooltip._options;return{xAlign:opts.xAlign?opts.xAlign:xAlign,yAlign:opts.yAlign?opts.yAlign:yAlign}}function getBackgroundPoint(vm,size,alignment,chart){var x=vm.x;var y=vm.y;var caretSize=vm.caretSize;var caretPadding=vm.caretPadding;var cornerRadius=vm.cornerRadius;var xAlign=alignment.xAlign;var yAlign=alignment.yAlign;var paddingAndSize=caretSize+caretPadding;var radiusAndPadding=cornerRadius+caretPadding;if(xAlign==="right")x-= size.width;else if(xAlign==="center"){x-=size.width/2;if(x+size.width>chart.width)x=chart.width-size.width;if(x<0)x=0}if(yAlign==="top")y+=paddingAndSize;else if(yAlign==="bottom")y-=size.height+paddingAndSize;else y-=size.height/2;if(yAlign==="center")if(xAlign==="left")x+=paddingAndSize;else{if(xAlign==="right")x-=paddingAndSize}else if(xAlign==="left")x-=radiusAndPadding;else if(xAlign==="right")x+=radiusAndPadding;return{x:x,y:y}}function getAlignedX(vm,align){return align==="center"?vm.x+vm.width/ 2:align==="right"?vm.x+vm.width-vm.xPadding:vm.x+vm.xPadding}function getBeforeAfterBodyLines(callback){return pushOrConcat([],splitNewlines(callback))}var exports$4=core_element.extend({initialize:function(){this._model=getBaseModel(this._options);this._lastActive=[]},getTitle:function(){var me=this;var opts=me._options;var callbacks=opts.callbacks;var beforeTitle=callbacks.beforeTitle.apply(me,arguments);var title=callbacks.title.apply(me,arguments);var afterTitle=callbacks.afterTitle.apply(me, arguments);var lines=[];lines=pushOrConcat(lines,splitNewlines(beforeTitle));lines=pushOrConcat(lines,splitNewlines(title));lines=pushOrConcat(lines,splitNewlines(afterTitle));return lines},getBeforeBody:function(){return getBeforeAfterBodyLines(this._options.callbacks.beforeBody.apply(this,arguments))},getBody:function(tooltipItems,data){var me=this;var callbacks=me._options.callbacks;var bodyItems=[];helpers$1.each(tooltipItems,function(tooltipItem){var bodyItem={before:[],lines:[],after:[]};pushOrConcat(bodyItem.before, splitNewlines(callbacks.beforeLabel.call(me,tooltipItem,data)));pushOrConcat(bodyItem.lines,callbacks.label.call(me,tooltipItem,data));pushOrConcat(bodyItem.after,splitNewlines(callbacks.afterLabel.call(me,tooltipItem,data)));bodyItems.push(bodyItem)});return bodyItems},getAfterBody:function(){return getBeforeAfterBodyLines(this._options.callbacks.afterBody.apply(this,arguments))},getFooter:function(){var me=this;var callbacks=me._options.callbacks;var beforeFooter=callbacks.beforeFooter.apply(me, arguments);var footer=callbacks.footer.apply(me,arguments);var afterFooter=callbacks.afterFooter.apply(me,arguments);var lines=[];lines=pushOrConcat(lines,splitNewlines(beforeFooter));lines=pushOrConcat(lines,splitNewlines(footer));lines=pushOrConcat(lines,splitNewlines(afterFooter));return lines},update:function(changed){var me=this;var opts=me._options;var existingModel=me._model;var model=me._model=getBaseModel(opts);var active=me._active;var data=me._data;var alignment={xAlign:existingModel.xAlign, yAlign:existingModel.yAlign};var backgroundPoint={x:existingModel.x,y:existingModel.y};var tooltipSize={width:existingModel.width,height:existingModel.height};var tooltipPosition={x:existingModel.caretX,y:existingModel.caretY};var i,len;if(active.length){model.opacity=1;var labelColors=[];var labelTextColors=[];tooltipPosition=positioners[opts.position].call(me,active,me._eventPosition);var tooltipItems=[];for(i=0,len=active.length;i0)ctx.stroke()},draw:function(){var ctx=this._chart.ctx;var vm=this._view;if(vm.opacity===0)return;var tooltipSize={width:vm.width,height:vm.height};var pt={x:vm.x,y:vm.y};var opacity=Math.abs(vm.opacity<.001)?0:vm.opacity;var hasTooltipContent=vm.title.length||vm.beforeBody.length|| vm.body.length||vm.afterBody.length||vm.footer.length;if(this._options.enabled&&hasTooltipContent){ctx.save();ctx.globalAlpha=opacity;this.drawBackground(pt,vm,ctx,tooltipSize);pt.y+=vm.yPadding;helpers$1.rtl.overrideTextDirection(ctx,vm.textDirection);this.drawTitle(pt,vm,ctx);this.drawBody(pt,vm,ctx);this.drawFooter(pt,vm,ctx);helpers$1.rtl.restoreTextDirection(ctx,vm.textDirection);ctx.restore()}},handleEvent:function(e){var me=this;var options=me._options;var changed=false;me._lastActive=me._lastActive|| [];if(e.type==="mouseout")me._active=[];else{me._active=me._chart.getElementsAtEventForMode(e,options.mode,options);if(options.reverse)me._active.reverse()}changed=!helpers$1.arrayEquals(me._active,me._lastActive);if(changed){me._lastActive=me._active;if(options.enabled||options.custom){me._eventPosition={x:e.x,y:e.y};me.update(true);me.pivot()}}return changed}});var positioners_1=positioners;var core_tooltip=exports$4;core_tooltip.positioners=positioners_1;var valueOrDefault$9=helpers$1.valueOrDefault; core_defaults._set("global",{elements:{},events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"nearest",intersect:true,animationDuration:400},onClick:null,maintainAspectRatio:true,responsive:true,responsiveAnimationDuration:0});function mergeScaleConfig(){return helpers$1.merge({},[].slice.call(arguments),{merger:function(key,target,source,options){if(key==="xAxes"||key==="yAxes"){var slen=source[key].length;var i,type,scale;if(!target[key])target[key]=[];for(i= 0;i=target[key].length)target[key].push({});if(!target[key][i].type||scale.type&&scale.type!==target[key][i].type)helpers$1.merge(target[key][i],[core_scaleService.getScaleDefaults(type),scale]);else helpers$1.merge(target[key][i],scale)}}else helpers$1._merger(key,target,source,options)}})}function mergeConfig(){return helpers$1.merge({},[].slice.call(arguments),{merger:function(key,target,source, options){var tval=target[key]||{};var sval=source[key];if(key==="scales")target[key]=mergeScaleConfig(tval,sval);else if(key==="scale")target[key]=helpers$1.merge(tval,[core_scaleService.getScaleDefaults(sval.type),sval]);else helpers$1._merger(key,target,source,options)}})}function initConfig(config){config=config||{};var data=config.data=config.data||{};data.datasets=data.datasets||[];data.labels=data.labels||[];config.options=mergeConfig(core_defaults.global,core_defaults[config.type],config.options|| {});return config}function updateConfig(chart){var newOptions=chart.options;helpers$1.each(chart.scales,function(scale){core_layouts.removeBox(chart,scale)});newOptions=mergeConfig(core_defaults.global,core_defaults[chart.config.type],newOptions);chart.options=chart.config.options=newOptions;chart.ensureScalesHaveIDs();chart.buildOrUpdateScales();chart.tooltip._options=newOptions.tooltips;chart.tooltip.initialize()}function nextAvailableScaleId(axesOpts,prefix,index){var id;var hasId=function(obj){return obj.id=== id};do id=prefix+index++;while(helpers$1.findIndex(axesOpts,hasId)>=0);return id}function positionIsHorizontal(position){return position==="top"||position==="bottom"}function compare2Level(l1,l2){return function(a,b){return a[l1]===b[l1]?a[l2]-b[l2]:a[l1]-b[l1]}}var Chart=function(item,config){this.construct(item,config);return this};helpers$1.extend(Chart.prototype,{construct:function(item,config){var me=this;config=initConfig(config);var context=platform.acquireContext(item,config);var canvas=context&& context.canvas;var height=canvas&&canvas.height;var width=canvas&&canvas.width;me.id=helpers$1.uid();me.ctx=context;me.canvas=canvas;me.config=config;me.width=width;me.height=height;me.aspectRatio=height?width/height:null;me.options=config.options;me._bufferedRender=false;me._layers=[];me.chart=me;me.controller=me;Chart.instances[me.id]=me;Object.defineProperty(me,"data",{get:function(){return me.config.data},set:function(value){me.config.data=value}});if(!context||!canvas){console.error("Failed to create chart: can't acquire context from the given item"); return}me.initialize();me.update()},initialize:function(){var me=this;core_plugins.notify(me,"beforeInit");helpers$1.retinaScale(me,me.options.devicePixelRatio);me.bindEvents();if(me.options.responsive)me.resize(true);me.initToolTip();core_plugins.notify(me,"afterInit");return me},clear:function(){helpers$1.canvas.clear(this);return this},stop:function(){core_animations.cancelAnimation(this);return this},resize:function(silent){var me=this;var options=me.options;var canvas=me.canvas;var aspectRatio= options.maintainAspectRatio&&me.aspectRatio||null;var newWidth=Math.max(0,Math.floor(helpers$1.getMaximumWidth(canvas)));var newHeight=Math.max(0,Math.floor(aspectRatio?newWidth/aspectRatio:helpers$1.getMaximumHeight(canvas)));if(me.width===newWidth&&me.height===newHeight)return;canvas.width=me.width=newWidth;canvas.height=me.height=newHeight;canvas.style.width=newWidth+"px";canvas.style.height=newHeight+"px";helpers$1.retinaScale(me,options.devicePixelRatio);if(!silent){var newSize={width:newWidth, height:newHeight};core_plugins.notify(me,"resize",[newSize]);if(options.onResize)options.onResize(me,newSize);me.stop();me.update({duration:options.responsiveAnimationDuration})}},ensureScalesHaveIDs:function(){var options=this.options;var scalesOptions=options.scales||{};var scaleOptions=options.scale;helpers$1.each(scalesOptions.xAxes,function(xAxisOptions,index){if(!xAxisOptions.id)xAxisOptions.id=nextAvailableScaleId(scalesOptions.xAxes,"x-axis-",index)});helpers$1.each(scalesOptions.yAxes,function(yAxisOptions, index){if(!yAxisOptions.id)yAxisOptions.id=nextAvailableScaleId(scalesOptions.yAxes,"y-axis-",index)});if(scaleOptions)scaleOptions.id=scaleOptions.id||"scale"},buildOrUpdateScales:function(){var me=this;var options=me.options;var scales=me.scales||{};var items=[];var updated=Object.keys(scales).reduce(function(obj,id){obj[id]=false;return obj},{});if(options.scales)items=items.concat((options.scales.xAxes||[]).map(function(xAxisOptions){return{options:xAxisOptions,dtype:"category",dposition:"bottom"}}), (options.scales.yAxes||[]).map(function(yAxisOptions){return{options:yAxisOptions,dtype:"linear",dposition:"left"}}));if(options.scale)items.push({options:options.scale,dtype:"radialLinear",isDefault:true,dposition:"chartArea"});helpers$1.each(items,function(item){var scaleOptions=item.options;var id=scaleOptions.id;var scaleType=valueOrDefault$9(scaleOptions.type,item.dtype);if(positionIsHorizontal(scaleOptions.position)!==positionIsHorizontal(item.dposition))scaleOptions.position=item.dposition; updated[id]=true;var scale=null;if(id in scales&&scales[id].type===scaleType){scale=scales[id];scale.options=scaleOptions;scale.ctx=me.ctx;scale.chart=me}else{var scaleClass=core_scaleService.getScaleConstructor(scaleType);if(!scaleClass)return;scale=new scaleClass({id:id,type:scaleType,options:scaleOptions,ctx:me.ctx,chart:me});scales[scale.id]=scale}scale.mergeTicksOptions();if(item.isDefault)me.scale=scale});helpers$1.each(updated,function(hasUpdated,id){if(!hasUpdated)delete scales[id]});me.scales= scales;core_scaleService.addScalesToLayout(this)},buildOrUpdateControllers:function(){var me=this;var newControllers=[];var datasets=me.data.datasets;var i,ilen;for(i=0,ilen=datasets.length;i=0;--i)me.drawDataset(metasets[i],easingValue);core_plugins.notify(me,"afterDatasetsDraw",[easingValue])},drawDataset:function(meta,easingValue){var me=this;var args={meta:meta,index:meta.index,easingValue:easingValue};if(core_plugins.notify(me,"beforeDatasetDraw",[args])===false)return;meta.controller.draw(easingValue);core_plugins.notify(me,"afterDatasetDraw",[args])},_drawTooltip:function(easingValue){var me=this;var tooltip=me.tooltip;var args={tooltip:tooltip,easingValue:easingValue};if(core_plugins.notify(me, "beforeTooltipDraw",[args])===false)return;tooltip.draw();core_plugins.notify(me,"afterTooltipDraw",[args])},getElementAtEvent:function(e){return core_interaction.modes.single(this,e)},getElementsAtEvent:function(e){return core_interaction.modes.label(this,e,{intersect:true})},getElementsAtXAxis:function(e){return core_interaction.modes["x-axis"](this,e,{intersect:true})},getElementsAtEventForMode:function(e,mode,options){var method=core_interaction.modes[mode];if(typeof method==="function")return method(this, e,options);return[]},getDatasetAtEvent:function(e){return core_interaction.modes.dataset(this,e,{intersect:true})},getDatasetMeta:function(datasetIndex){var me=this;var dataset=me.data.datasets[datasetIndex];if(!dataset._meta)dataset._meta={};var meta=dataset._meta[me.id];if(!meta)meta=dataset._meta[me.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:dataset.order||0,index:datasetIndex};return meta},getVisibleDatasetCount:function(){var count=0;for(var i= 0,ilen=this.data.datasets.length;i=0;i--){var currentItem=arrayToSearch[i];if(filterCallback(currentItem))return currentItem}}; helpers$1.isNumber=function(n){return!isNaN(parseFloat(n))&&isFinite(n)};helpers$1.almostEquals=function(x,y,epsilon){return Math.abs(x-y)=x};helpers$1.max=function(array){return array.reduce(function(max,value){if(!isNaN(value))return Math.max(max,value);return max},Number.NEGATIVE_INFINITY)};helpers$1.min=function(array){return array.reduce(function(min,value){if(!isNaN(value))return Math.min(min, value);return min},Number.POSITIVE_INFINITY)};helpers$1.sign=Math.sign?function(x){return Math.sign(x)}:function(x){x=+x;if(x===0||isNaN(x))return x;return x>0?1:-1};helpers$1.toRadians=function(degrees){return degrees*(Math.PI/180)};helpers$1.toDegrees=function(radians){return radians*(180/Math.PI)};helpers$1._decimalPlaces=function(x){if(!helpers$1.isFinite(x))return;var e=1;var p=0;while(Math.round(x*e)/e!==x){e*=10;p++}return p};helpers$1.getAngleFromPoint=function(centrePoint,anglePoint){var distanceFromXCenter= anglePoint.x-centrePoint.x;var distanceFromYCenter=anglePoint.y-centrePoint.y;var radialDistanceFromCenter=Math.sqrt(distanceFromXCenter*distanceFromXCenter+distanceFromYCenter*distanceFromYCenter);var angle=Math.atan2(distanceFromYCenter,distanceFromXCenter);if(angle<-.5*Math.PI)angle+=2*Math.PI;return{angle:angle,distance:radialDistanceFromCenter}};helpers$1.distanceBetweenPoints=function(pt1,pt2){return Math.sqrt(Math.pow(pt2.x-pt1.x,2)+Math.pow(pt2.y-pt1.y,2))};helpers$1.aliasPixel=function(pixelWidth){return pixelWidth% 2===0?0:.5};helpers$1._alignPixel=function(chart,pixel,width){var devicePixelRatio=chart.currentDevicePixelRatio;var halfWidth=width/2;return Math.round((pixel-halfWidth)*devicePixelRatio)/devicePixelRatio+halfWidth};helpers$1.splineCurve=function(firstPoint,middlePoint,afterPoint,t){var previous=firstPoint.skip?middlePoint:firstPoint;var current=middlePoint;var next=afterPoint.skip?middlePoint:afterPoint;var d01=Math.sqrt(Math.pow(current.x-previous.x,2)+Math.pow(current.y-previous.y,2));var d12= Math.sqrt(Math.pow(next.x-current.x,2)+Math.pow(next.y-current.y,2));var s01=d01/(d01+d12);var s12=d12/(d01+d12);s01=isNaN(s01)?0:s01;s12=isNaN(s12)?0:s12;var fa=t*s01;var fb=t*s12;return{previous:{x:current.x-fa*(next.x-previous.x),y:current.y-fa*(next.y-previous.y)},next:{x:current.x+fb*(next.x-previous.x),y:current.y+fb*(next.y-previous.y)}}};helpers$1.EPSILON=Number.EPSILON||1E-14;helpers$1.splineCurveMonotone=function(points){var pointsWithTangents=(points||[]).map(function(point){return{model:point._model, deltaK:0,mK:0}});var pointsLen=pointsWithTangents.length;var i,pointBefore,pointCurrent,pointAfter;for(i=0;i0?pointsWithTangents[i-1]:null;pointAfter=i0?pointsWithTangents[i-1]:null;pointAfter=i=collection.length-1?collection[0]:collection[index+1];return index>=collection.length-1?collection[collection.length-1]:collection[index+1]};helpers$1.previousItem=function(collection,index,loop){if(loop)return index<=0?collection[collection.length-1]:collection[index-1];return index<=0?collection[0]:collection[index-1]};helpers$1.niceNum=function(range,round){var exponent=Math.floor(helpers$1.log10(range));var fraction=range/Math.pow(10,exponent); var niceFraction;if(round)if(fraction<1.5)niceFraction=1;else if(fraction<3)niceFraction=2;else if(fraction<7)niceFraction=5;else niceFraction=10;else if(fraction<=1)niceFraction=1;else if(fraction<=2)niceFraction=2;else if(fraction<=5)niceFraction=5;else niceFraction=10;return niceFraction*Math.pow(10,exponent)};helpers$1.requestAnimFrame=function(){if(typeof window==="undefined")return function(callback){callback()};return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame|| window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(callback){return window.setTimeout(callback,1E3/60)}}();helpers$1.getRelativePosition=function(evt,chart){var mouseX,mouseY;var e=evt.originalEvent||evt;var canvas=evt.target||evt.srcElement;var boundingRect=canvas.getBoundingClientRect();var touches=e.touches;if(touches&&touches.length>0){mouseX=touches[0].clientX;mouseY=touches[0].clientY}else{mouseX=e.clientX;mouseY=e.clientY}var paddingLeft=parseFloat(helpers$1.getStyle(canvas, "padding-left"));var paddingTop=parseFloat(helpers$1.getStyle(canvas,"padding-top"));var paddingRight=parseFloat(helpers$1.getStyle(canvas,"padding-right"));var paddingBottom=parseFloat(helpers$1.getStyle(canvas,"padding-bottom"));var width=boundingRect.right-boundingRect.left-paddingLeft-paddingRight;var height=boundingRect.bottom-boundingRect.top-paddingTop-paddingBottom;mouseX=Math.round((mouseX-boundingRect.left-paddingLeft)/width*canvas.width/chart.currentDevicePixelRatio);mouseY=Math.round((mouseY- boundingRect.top-paddingTop)/height*canvas.height/chart.currentDevicePixelRatio);return{x:mouseX,y:mouseY}};function parseMaxStyle(styleValue,node,parentProperty){var valueInPixels;if(typeof styleValue==="string"){valueInPixels=parseInt(styleValue,10);if(styleValue.indexOf("%")!==-1)valueInPixels=valueInPixels/100*node.parentNode[parentProperty]}else valueInPixels=styleValue;return valueInPixels}function isConstrainedValue(value){return value!==undefined&&value!==null&&value!=="none"}function getConstraintDimension(domNode, maxStyle,percentageProperty){var view=document.defaultView;var parentNode=helpers$1._getParentNode(domNode);var constrainedNode=view.getComputedStyle(domNode)[maxStyle];var constrainedContainer=view.getComputedStyle(parentNode)[maxStyle];var hasCNode=isConstrainedValue(constrainedNode);var hasCContainer=isConstrainedValue(constrainedContainer);var infinity=Number.POSITIVE_INFINITY;if(hasCNode||hasCContainer)return Math.min(hasCNode?parseMaxStyle(constrainedNode,domNode,percentageProperty):infinity, hasCContainer?parseMaxStyle(constrainedContainer,parentNode,percentageProperty):infinity);return"none"}helpers$1.getConstraintWidth=function(domNode){return getConstraintDimension(domNode,"max-width","clientWidth")};helpers$1.getConstraintHeight=function(domNode){return getConstraintDimension(domNode,"max-height","clientHeight")};helpers$1._calculatePadding=function(container,padding,parentDimension){padding=helpers$1.getStyle(container,padding);return padding.indexOf("%")>-1?parentDimension*parseInt(padding, 10)/100:parseInt(padding,10)};helpers$1._getParentNode=function(domNode){var parent=domNode.parentNode;if(parent&&parent.toString()==="[object ShadowRoot]")parent=parent.host;return parent};helpers$1.getMaximumWidth=function(domNode){var container=helpers$1._getParentNode(domNode);if(!container)return domNode.clientWidth;var clientWidth=container.clientWidth;var paddingLeft=helpers$1._calculatePadding(container,"padding-left",clientWidth);var paddingRight=helpers$1._calculatePadding(container,"padding-right", clientWidth);var w=clientWidth-paddingLeft-paddingRight;var cw=helpers$1.getConstraintWidth(domNode);return isNaN(cw)?w:Math.min(w,cw)};helpers$1.getMaximumHeight=function(domNode){var container=helpers$1._getParentNode(domNode);if(!container)return domNode.clientHeight;var clientHeight=container.clientHeight;var paddingTop=helpers$1._calculatePadding(container,"padding-top",clientHeight);var paddingBottom=helpers$1._calculatePadding(container,"padding-bottom",clientHeight);var h=clientHeight-paddingTop- paddingBottom;var ch=helpers$1.getConstraintHeight(domNode);return isNaN(ch)?h:Math.min(h,ch)};helpers$1.getStyle=function(el,property){return el.currentStyle?el.currentStyle[property]:document.defaultView.getComputedStyle(el,null).getPropertyValue(property)};helpers$1.retinaScale=function(chart,forceRatio){var pixelRatio=chart.currentDevicePixelRatio=forceRatio||typeof window!=="undefined"&&window.devicePixelRatio||1;if(pixelRatio===1)return;var canvas=chart.canvas;var height=chart.height;var width= chart.width;canvas.height=height*pixelRatio;canvas.width=width*pixelRatio;chart.ctx.scale(pixelRatio,pixelRatio);if(!canvas.style.height&&!canvas.style.width){canvas.style.height=height+"px";canvas.style.width=width+"px"}};helpers$1.fontString=function(pixelSize,fontStyle,fontFamily){return fontStyle+" "+pixelSize+"px "+fontFamily};helpers$1.longestText=function(ctx,font,arrayOfThings,cache){cache=cache||{};var data=cache.data=cache.data||{};var gc=cache.garbageCollect=cache.garbageCollect||[];if(cache.font!== font){data=cache.data={};gc=cache.garbageCollect=[];cache.font=font}ctx.font=font;var longest=0;var ilen=arrayOfThings.length;var i,j,jlen,thing,nestedThing;for(i=0;iarrayOfThings.length){for(i=0;ilongest)longest=textWidth;return longest};helpers$1.numberOfLabelLines=function(arrayOfThings){var numberOfLines=1;helpers$1.each(arrayOfThings, function(thing){if(helpers$1.isArray(thing))if(thing.length>numberOfLines)numberOfLines=thing.length});return numberOfLines};helpers$1.color=!chartjsColor?function(value){console.error("Color.js not found!");return value}:function(value){if(value instanceof CanvasGradient)value=core_defaults.global.defaultColor;return chartjsColor(value)};helpers$1.getHoverColor=function(colorValue){return colorValue instanceof CanvasPattern||colorValue instanceof CanvasGradient?colorValue:helpers$1.color(colorValue).saturate(.5).darken(.1).rgbString()}}; function abstract(){throw new Error("This method is not implemented: either no adapter can "+"be found or an incomplete integration was provided.");}function DateAdapter(options){this.options=options||{}}helpers$1.extend(DateAdapter.prototype,{formats:abstract,parse:abstract,format:abstract,add:abstract,diff:abstract,startOf:abstract,endOf:abstract,_create:function(value){return value}});DateAdapter.override=function(members){helpers$1.extend(DateAdapter.prototype,members)};var _date=DateAdapter; var core_adapters={_date:_date};var core_ticks={formatters:{values:function(value){return helpers$1.isArray(value)?value:""+value},linear:function(tickValue,index,ticks){var delta=ticks.length>3?ticks[2]-ticks[1]:ticks[1]-ticks[0];if(Math.abs(delta)>1)if(tickValue!==Math.floor(tickValue))delta=tickValue-Math.floor(tickValue);var logDelta=helpers$1.log10(Math.abs(delta));var tickString="";if(tickValue!==0){var maxTick=Math.max(Math.abs(ticks[0]),Math.abs(ticks[ticks.length-1]));if(maxTick<1E-4){var logTick= helpers$1.log10(Math.abs(tickValue));var numExponential=Math.floor(logTick)-Math.floor(logDelta);numExponential=Math.max(Math.min(numExponential,20),0);tickString=tickValue.toExponential(numExponential)}else{var numDecimal=-1*Math.floor(logDelta);numDecimal=Math.max(Math.min(numDecimal,20),0);tickString=tickValue.toFixed(numDecimal)}}else tickString="0";return tickString},logarithmic:function(tickValue,index,ticks){var remain=tickValue/Math.pow(10,Math.floor(helpers$1.log10(tickValue)));if(tickValue=== 0)return"0";else if(remain===1||remain===2||remain===5||index===0||index===ticks.length-1)return tickValue.toExponential();return""}}};var isArray=helpers$1.isArray;var isNullOrUndef=helpers$1.isNullOrUndef;var valueOrDefault$a=helpers$1.valueOrDefault;var valueAtIndexOrDefault=helpers$1.valueAtIndexOrDefault;core_defaults._set("scale",{display:true,position:"left",offset:false,gridLines:{display:true,color:"rgba(0,0,0,0.1)",lineWidth:1,drawBorder:true,drawOnChartArea:true,drawTicks:true,tickMarkLength:10, zeroLineWidth:1,zeroLineColor:"rgba(0,0,0,0.25)",zeroLineBorderDash:[],zeroLineBorderDashOffset:0,offsetGridLines:false,borderDash:[],borderDashOffset:0},scaleLabel:{display:false,labelString:"",padding:{top:4,bottom:4}},ticks:{beginAtZero:false,minRotation:0,maxRotation:50,mirror:false,padding:0,reverse:false,display:true,autoSkip:true,autoSkipPadding:0,labelOffset:0,callback:core_ticks.formatters.values,minor:{},major:{}}});function sample(arr,numItems){var result=[];var increment=arr.length/numItems; var i=0;var len=arr.length;for(;iend+epsilon)return}return lineValue}function garbageCollect(caches,length){helpers$1.each(caches,function(cache){var gc=cache.gc;var gcLen=gc.length/2;var i;if(gcLen>length){for(i=0;ispacing)return factor}return Math.max(spacing,1)}function getMajorIndices(ticks){var result=[];var i,ilen;for(i=0,ilen=ticks.length;i=maxRotation||numTicks<=1||!me.isHorizontal()){me.labelRotation=minRotation;return}labelSizes=me._getLabelSizes();maxLabelWidth=labelSizes.widest.width;maxLabelHeight=labelSizes.highest.height-labelSizes.highest.offset;maxWidth=Math.min(me.maxWidth,me.chart.width-maxLabelWidth);tickWidth=options.offset?me.maxWidth/numTicks:maxWidth/(numTicks-1);if(maxLabelWidth+6>tickWidth){tickWidth=maxWidth/(numTicks- (options.offset?.5:1));maxHeight=me.maxHeight-getTickMarkLength(options.gridLines)-tickOpts.padding-getScaleLabelHeight(options.scaleLabel);maxLabelDiagonal=Math.sqrt(maxLabelWidth*maxLabelWidth+maxLabelHeight*maxLabelHeight);labelRotation=helpers$1.toDegrees(Math.min(Math.asin(Math.min((labelSizes.highest.height+6)/tickWidth,1)),Math.asin(Math.min(maxHeight/maxLabelDiagonal,1))-Math.asin(maxLabelHeight/maxLabelDiagonal)));labelRotation=Math.max(minRotation,Math.min(maxRotation,labelRotation))}me.labelRotation= labelRotation},afterCalculateTickRotation:function(){helpers$1.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){helpers$1.callback(this.options.beforeFit,[this])},fit:function(){var me=this;var minSize=me.minSize={width:0,height:0};var chart=me.chart;var opts=me.options;var tickOpts=opts.ticks;var scaleLabelOpts=opts.scaleLabel;var gridLineOpts=opts.gridLines;var display=me._isVisible();var isBottom=opts.position==="bottom";var isHorizontal=me.isHorizontal();if(isHorizontal)minSize.width= me.maxWidth;else if(display)minSize.width=getTickMarkLength(gridLineOpts)+getScaleLabelHeight(scaleLabelOpts);if(!isHorizontal)minSize.height=me.maxHeight;else if(display)minSize.height=getTickMarkLength(gridLineOpts)+getScaleLabelHeight(scaleLabelOpts);if(tickOpts.display&&display){var tickFonts=parseTickFontOptions(tickOpts);var labelSizes=me._getLabelSizes();var firstLabelSize=labelSizes.first;var lastLabelSize=labelSizes.last;var widestLabelSize=labelSizes.widest;var highestLabelSize=labelSizes.highest; var lineSpace=tickFonts.minor.lineHeight*.4;var tickPadding=tickOpts.padding;if(isHorizontal){var isRotated=me.labelRotation!==0;var angleRadians=helpers$1.toRadians(me.labelRotation);var cosRotation=Math.cos(angleRadians);var sinRotation=Math.sin(angleRadians);var labelHeight=sinRotation*widestLabelSize.width+cosRotation*(highestLabelSize.height-(isRotated?highestLabelSize.offset:0))+(isRotated?0:lineSpace);minSize.height=Math.min(me.maxHeight,minSize.height+labelHeight+tickPadding);var offsetLeft= me.getPixelForTick(0)-me.left;var offsetRight=me.right-me.getPixelForTick(me.getTicks().length-1);var paddingLeft,paddingRight;if(isRotated){paddingLeft=isBottom?cosRotation*firstLabelSize.width+sinRotation*firstLabelSize.offset:sinRotation*(firstLabelSize.height-firstLabelSize.offset);paddingRight=isBottom?sinRotation*(lastLabelSize.height-lastLabelSize.offset):cosRotation*lastLabelSize.width+sinRotation*lastLabelSize.offset}else{paddingLeft=firstLabelSize.width/2;paddingRight=lastLabelSize.width/ 2}me.paddingLeft=Math.max((paddingLeft-offsetLeft)*me.width/(me.width-offsetLeft),0)+3;me.paddingRight=Math.max((paddingRight-offsetRight)*me.width/(me.width-offsetRight),0)+3}else{var labelWidth=tickOpts.mirror?0:widestLabelSize.width+tickPadding+lineSpace;minSize.width=Math.min(me.maxWidth,minSize.width+labelWidth);me.paddingTop=firstLabelSize.height/2;me.paddingBottom=lastLabelSize.height/2}}me.handleMargins();if(isHorizontal){me.width=me._length=chart.width-me.margins.left-me.margins.right;me.height= minSize.height}else{me.width=minSize.width;me.height=me._length=chart.height-me.margins.top-me.margins.bottom}},handleMargins:function(){var me=this;if(me.margins){me.margins.left=Math.max(me.paddingLeft,me.margins.left);me.margins.top=Math.max(me.paddingTop,me.margins.top);me.margins.right=Math.max(me.paddingRight,me.margins.right);me.margins.bottom=Math.max(me.paddingBottom,me.margins.bottom)}},afterFit:function(){helpers$1.callback(this.options.afterFit,[this])},isHorizontal:function(){var pos= this.options.position;return pos==="top"||pos==="bottom"},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(rawValue){if(isNullOrUndef(rawValue))return NaN;if((typeof rawValue==="number"||rawValue instanceof Number)&&!isFinite(rawValue))return NaN;if(rawValue)if(this.isHorizontal()){if(rawValue.x!==undefined)return this.getRightValue(rawValue.x)}else if(rawValue.y!==undefined)return this.getRightValue(rawValue.y);return rawValue},_convertTicksToLabels:function(ticks){var me= this;var labels,i,ilen;me.ticks=ticks.map(function(tick){return tick.value});me.beforeTickToLabelConversion();labels=me.convertTicksToLabels(ticks)||me.ticks;me.afterTickToLabelConversion();for(i=0,ilen=ticks.length;inumTicks-1?null:me.getPixelForDecimal(index*tickWidth+(offset?tickWidth/2:0))},getPixelForDecimal:function(decimal){var me=this;if(me._reversePixels)decimal=1-decimal;return me._startPixel+decimal*me._length},getDecimalForPixel:function(pixel){var decimal=(pixel- this._startPixel)/this._length;return this._reversePixels?1-decimal:decimal},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var me=this;var min=me.min;var max=me.max;return me.beginAtZero?0:min<0&&max<0?max:min>0&&max>0?min:0},_autoSkip:function(ticks){var me=this;var tickOpts=me.options.ticks;var axisLength=me._length;var ticksLimit=tickOpts.maxTicksLimit||axisLength/me._tickSize()+1;var majorIndices=tickOpts.major.enabled?getMajorIndices(ticks): [];var numMajorIndices=majorIndices.length;var first=majorIndices[0];var last=majorIndices[numMajorIndices-1];var i,ilen,spacing,avgMajorSpacing;if(numMajorIndices>ticksLimit){skipMajors(ticks,majorIndices,numMajorIndices/ticksLimit);return nonSkipped(ticks)}spacing=calculateSpacing(majorIndices,ticks,axisLength,ticksLimit);if(numMajorIndices>0){for(i=0,ilen=numMajorIndices-1;i1?(last-first)/(numMajorIndices- 1):null;skip(ticks,spacing,helpers$1.isNullOrUndef(avgMajorSpacing)?0:first-avgMajorSpacing,first);skip(ticks,spacing,last,helpers$1.isNullOrUndef(avgMajorSpacing)?ticks.length:last+avgMajorSpacing);return nonSkipped(ticks)}skip(ticks,spacing);return nonSkipped(ticks)},_tickSize:function(){var me=this;var optionTicks=me.options.ticks;var rot=helpers$1.toRadians(me.labelRotation);var cos=Math.abs(Math.cos(rot));var sin=Math.abs(Math.sin(rot));var labelSizes=me._getLabelSizes();var padding=optionTicks.autoSkipPadding|| 0;var w=labelSizes?labelSizes.widest.width+padding:0;var h=labelSizes?labelSizes.highest.height+padding:0;return me.isHorizontal()?h*cos>w*sin?w/cos:h/sin:h*sin=0)minIndex=findIndex}if(max!==undefined){findIndex=labels.indexOf(max);if(findIndex>=0)maxIndex=findIndex}me.minIndex=minIndex;me.maxIndex=maxIndex;me.min=labels[minIndex];me.max=labels[maxIndex]},buildTicks:function(){var me=this;var labels=me._getLabels();var minIndex=me.minIndex;var maxIndex=me.maxIndex;me.ticks=minIndex===0&&maxIndex===labels.length-1?labels:labels.slice(minIndex,maxIndex+1)},getLabelForIndex:function(index,datasetIndex){var me=this;var chart=me.chart;if(chart.getDatasetMeta(datasetIndex).controller._getValueScaleId()=== me.id)return me.getRightValue(chart.data.datasets[datasetIndex].data[index]);return me._getLabels()[index]},_configure:function(){var me=this;var offset=me.options.offset;var ticks=me.ticks;core_scale.prototype._configure.call(me);if(!me.isHorizontal())me._reversePixels=!me._reversePixels;if(!ticks)return;me._startValue=me.minIndex-(offset?.5:0);me._valueRange=Math.max(ticks.length-(offset?0:1),1)},getPixelForValue:function(value,index,datasetIndex){var me=this;var valueCategory,labels,idx;if(!isNullOrUndef$1(index)&& !isNullOrUndef$1(datasetIndex))value=me.chart.data.datasets[datasetIndex].data[index];if(!isNullOrUndef$1(value))valueCategory=me.isHorizontal()?value.x:value.y;if(valueCategory!==undefined||value!==undefined&&isNaN(index)){labels=me._getLabels();value=helpers$1.valueOrDefault(valueCategory,value);idx=labels.indexOf(value);index=idx!==-1?idx:index;if(isNaN(index))index=value}return me.getPixelForDecimal((index-me._startValue)/me._valueRange)},getPixelForTick:function(index){var ticks=this.ticks;return index< 0||index>ticks.length-1?null:this.getPixelForValue(ticks[index],index+this.minIndex)},getValueForPixel:function(pixel){var me=this;var value=Math.round(me._startValue+me.getDecimalForPixel(pixel)*me._valueRange);return Math.min(Math.max(value,0),me.ticks.length-1)},getBasePixel:function(){return this.bottom}});var _defaults=defaultConfig;scale_category._defaults=_defaults;var noop=helpers$1.noop;var isNullOrUndef$2=helpers$1.isNullOrUndef;function generateTicks(generationOptions,dataRange){var ticks= [];var MIN_SPACING=1E-14;var stepSize=generationOptions.stepSize;var unit=stepSize||1;var maxNumSpaces=generationOptions.maxTicks-1;var min=generationOptions.min;var max=generationOptions.max;var precision=generationOptions.precision;var rmin=dataRange.min;var rmax=dataRange.max;var spacing=helpers$1.niceNum((rmax-rmin)/maxNumSpaces/unit)*unit;var factor,niceMin,niceMax,numSpaces;if(spacingmaxNumSpaces)spacing=helpers$1.niceNum(numSpaces*spacing/maxNumSpaces/unit)*unit;if(stepSize||isNullOrUndef$2(precision))factor=Math.pow(10,helpers$1._decimalPlaces(spacing));else{factor=Math.pow(10,precision);spacing=Math.ceil(spacing*factor)/factor}niceMin=Math.floor(rmin/spacing)*spacing;niceMax=Math.ceil(rmax/spacing)*spacing;if(stepSize){if(!isNullOrUndef$2(min)&&helpers$1.almostWhole(min/spacing,spacing/1E3))niceMin=min;if(!isNullOrUndef$2(max)&&helpers$1.almostWhole(max/ spacing,spacing/1E3))niceMax=max}numSpaces=(niceMax-niceMin)/spacing;if(helpers$1.almostEquals(numSpaces,Math.round(numSpaces),spacing/1E3))numSpaces=Math.round(numSpaces);else numSpaces=Math.ceil(numSpaces);niceMin=Math.round(niceMin*factor)/factor;niceMax=Math.round(niceMax*factor)/factor;ticks.push(isNullOrUndef$2(min)?niceMin:min);for(var j=1;j0&&maxSign>0)me.min=0}var setMin=tickOpts.min!==undefined||tickOpts.suggestedMin!==undefined;var setMax=tickOpts.max!== undefined||tickOpts.suggestedMax!==undefined;if(tickOpts.min!==undefined)me.min=tickOpts.min;else if(tickOpts.suggestedMin!==undefined)if(me.min===null)me.min=tickOpts.suggestedMin;else me.min=Math.min(me.min,tickOpts.suggestedMin);if(tickOpts.max!==undefined)me.max=tickOpts.max;else if(tickOpts.suggestedMax!==undefined)if(me.max===null)me.max=tickOpts.suggestedMax;else me.max=Math.max(me.max,tickOpts.suggestedMax);if(setMin!==setMax)if(me.min>=me.max)if(setMin)me.max=me.min+1;else me.min=me.max- 1;if(me.min===me.max){me.max++;if(!tickOpts.beginAtZero)me.min--}},getTickLimit:function(){var me=this;var tickOpts=me.options.ticks;var stepSize=tickOpts.stepSize;var maxTicksLimit=tickOpts.maxTicksLimit;var maxTicks;if(stepSize)maxTicks=Math.ceil(me.max/stepSize)-Math.floor(me.min/stepSize)+1;else{maxTicks=me._computeTickLimit();maxTicksLimit=maxTicksLimit||11}if(maxTicksLimit)maxTicks=Math.min(maxTicksLimit,maxTicks);return maxTicks},_computeTickLimit:function(){return Number.POSITIVE_INFINITY}, handleDirectionalChanges:noop,buildTicks:function(){var me=this;var opts=me.options;var tickOpts=opts.ticks;var maxTicks=me.getTickLimit();maxTicks=Math.max(2,maxTicks);var numericGeneratorOptions={maxTicks:maxTicks,min:tickOpts.min,max:tickOpts.max,precision:tickOpts.precision,stepSize:helpers$1.valueOrDefault(tickOpts.fixedStepSize,tickOpts.stepSize)};var ticks=me.ticks=generateTicks(numericGeneratorOptions,me);me.handleDirectionalChanges();me.max=helpers$1.max(ticks);me.min=helpers$1.min(ticks); if(tickOpts.reverse){ticks.reverse();me.start=me.max;me.end=me.min}else{me.start=me.min;me.end=me.max}},convertTicksToLabels:function(){var me=this;me.ticksAsNumbers=me.ticks.slice();me.zeroLineIndex=me.ticks.indexOf(0);core_scale.prototype.convertTicksToLabels.call(me)},_configure:function(){var me=this;var ticks=me.getTicks();var start=me.min;var end=me.max;var offset;core_scale.prototype._configure.call(me);if(me.options.offset&&ticks.length){offset=(end-start)/Math.max(ticks.length-1,1)/2;start-= offset;end+=offset}me._startValue=start;me._endValue=end;me._valueRange=end-start}});var defaultConfig$1={position:"left",ticks:{callback:core_ticks.formatters.linear}};var DEFAULT_MIN=0;var DEFAULT_MAX=1;function getOrCreateStack(stacks,stacked,meta){var key=[meta.type,stacked===undefined&&meta.stack===undefined?meta.index:"",meta.stack].join(".");if(stacks[key]===undefined)stacks[key]={pos:[],neg:[]};return stacks[key]}function stackData(scale,stacks,meta,data){var opts=scale.options;var stacked= opts.stacked;var stack=getOrCreateStack(stacks,stacked,meta);var pos=stack.pos;var neg=stack.neg;var ilen=data.length;var i,value;for(i=0;iticks.length-1)return null;return this.getPixelForValue(ticks[index])}});var _defaults$1=defaultConfig$1;scale_linear._defaults=_defaults$1;var valueOrDefault$b=helpers$1.valueOrDefault; var log10=helpers$1.math.log10;function generateTicks$1(generationOptions,dataRange){var ticks=[];var tickVal=valueOrDefault$b(generationOptions.min,Math.pow(10,Math.floor(log10(dataRange.min))));var endExp=Math.floor(log10(dataRange.max));var endSignificand=Math.ceil(dataRange.max/Math.pow(10,endExp));var exp,significand;if(tickVal===0){exp=Math.floor(log10(dataRange.minNotZero));significand=Math.floor(dataRange.minNotZero/Math.pow(10,exp));ticks.push(tickVal);tickVal=significand*Math.pow(10,exp)}else{exp= Math.floor(log10(tickVal));significand=Math.floor(tickVal/Math.pow(10,exp))}var precision=exp<0?Math.pow(10,Math.abs(exp)):1;do{ticks.push(tickVal);++significand;if(significand===10){significand=1;++exp;precision=exp>=0?1:precision}tickVal=Math.round(significand*Math.pow(10,exp)*precision)/precision}while(exp=0?value:defaultValue}var scale_logarithmic=core_scale.extend({determineDataLimits:function(){var me=this;var opts=me.options;var chart=me.chart;var datasets=chart.data.datasets;var isHorizontal=me.isHorizontal();function IDMatches(meta){return isHorizontal?meta.xAxisID===me.id:meta.yAxisID===me.id}var datasetIndex,meta,value,data,i,ilen;me.min=Number.POSITIVE_INFINITY;me.max=Number.NEGATIVE_INFINITY;me.minNotZero= Number.POSITIVE_INFINITY;var hasStacks=opts.stacked;if(hasStacks===undefined)for(datasetIndex=0;datasetIndex 0){var minVal=helpers$1.min(valuesForType);var maxVal=helpers$1.max(valuesForType);me.min=Math.min(me.min,minVal);me.max=Math.max(me.max,maxVal)}})}else for(datasetIndex=0;datasetIndex0)me.minNotZero=me.min;else if(me.max<1)me.minNotZero=Math.pow(10,Math.floor(log10(me.max)));else me.minNotZero=DEFAULT_MIN}, buildTicks:function(){var me=this;var tickOpts=me.options.ticks;var reverse=!me.isHorizontal();var generationOptions={min:nonNegativeOrDefault(tickOpts.min),max:nonNegativeOrDefault(tickOpts.max)};var ticks=me.ticks=generateTicks$1(generationOptions,me);me.max=helpers$1.max(ticks);me.min=helpers$1.min(ticks);if(tickOpts.reverse){reverse=!reverse;me.start=me.max;me.end=me.min}else{me.start=me.min;me.end=me.max}if(reverse)ticks.reverse()},convertTicksToLabels:function(){this.tickValues=this.ticks.slice(); core_scale.prototype.convertTicksToLabels.call(this)},getLabelForIndex:function(index,datasetIndex){return this._getScaleLabel(this.chart.data.datasets[datasetIndex].data[index])},getPixelForTick:function(index){var ticks=this.tickValues;if(index<0||index>ticks.length-1)return null;return this.getPixelForValue(ticks[index])},_getFirstTickValue:function(value){var exp=Math.floor(log10(value));var significand=Math.floor(value/Math.pow(10,exp));return significand*Math.pow(10,exp)},_configure:function(){var me= this;var start=me.min;var offset=0;core_scale.prototype._configure.call(me);if(start===0){start=me._getFirstTickValue(me.minNotZero);offset=valueOrDefault$b(me.options.ticks.fontSize,core_defaults.global.defaultFontSize)/me._length}me._startValue=log10(start);me._valueOffset=offset;me._valueRange=(log10(me.max)-log10(start))/(1-offset)},getPixelForValue:function(value){var me=this;var decimal=0;value=+me.getRightValue(value);if(value>me.min&&value>0)decimal=(log10(value)-me._startValue)/me._valueRange+ me._valueOffset;return me.getPixelForDecimal(decimal)},getValueForPixel:function(pixel){var me=this;var decimal=me.getDecimalForPixel(pixel);return decimal===0&&me.min===0?0:Math.pow(10,me._startValue+(decimal-me._valueOffset)*me._valueRange)}});var _defaults$2=defaultConfig$2;scale_logarithmic._defaults=_defaults$2;var valueOrDefault$c=helpers$1.valueOrDefault;var valueAtIndexOrDefault$1=helpers$1.valueAtIndexOrDefault;var resolve$4=helpers$1.options.resolve;var defaultConfig$3={display:true,animate:true, position:"chartArea",angleLines:{display:true,color:"rgba(0,0,0,0.1)",lineWidth:1,borderDash:[],borderDashOffset:0},gridLines:{circular:false},ticks:{showLabelBackdrop:true,backdropColor:"rgba(255,255,255,0.75)",backdropPaddingY:2,backdropPaddingX:2,callback:core_ticks.formatters.linear},pointLabels:{display:true,fontSize:10,callback:function(label){return label}}};function getTickBackdropHeight(opts){var tickOpts=opts.ticks;if(tickOpts.display&&opts.display)return valueOrDefault$c(tickOpts.fontSize, core_defaults.global.defaultFontSize)+tickOpts.backdropPaddingY*2;return 0}function measureLabelSize(ctx,lineHeight,label){if(helpers$1.isArray(label))return{w:helpers$1.longestText(ctx,ctx.font,label),h:label.length*lineHeight};return{w:ctx.measureText(label).width,h:lineHeight}}function determineLimits(angle,pos,size,min,max){if(angle===min||angle===max)return{start:pos-size/2,end:pos+size/2};else if(anglemax)return{start:pos-size,end:pos};return{start:pos,end:pos+size}}function fitWithPointLabels(scale){var plFont= helpers$1.options._parseFont(scale.options.pointLabels);var furthestLimits={l:0,r:scale.width,t:0,b:scale.height-scale.paddingTop};var furthestAngles={};var i,textSize,pointPosition;scale.ctx.font=plFont.string;scale._pointLabelSizes=[];var valueCount=scale.chart.data.labels.length;for(i=0;ifurthestLimits.r){furthestLimits.r=hLimits.end;furthestAngles.r=angleRadians}if(vLimits.startfurthestLimits.b){furthestLimits.b= vLimits.end;furthestAngles.b=angleRadians}}scale.setReductions(scale.drawingArea,furthestLimits,furthestAngles)}function getTextAlignForAngle(angle){if(angle===0||angle===180)return"center";else if(angle<180)return"left";return"right"}function fillText(ctx,text,position,lineHeight){var y=position.y+lineHeight/2;var i,ilen;if(helpers$1.isArray(text))for(i=0,ilen=text.length;i270||angle<90)position.y-=textSize.h}function drawPointLabels(scale){var ctx=scale.ctx;var opts=scale.options;var pointLabelOpts=opts.pointLabels;var tickBackdropHeight=getTickBackdropHeight(opts);var outerDistance=scale.getDistanceFromCenterForValue(opts.ticks.reverse?scale.min:scale.max);var plFont=helpers$1.options._parseFont(pointLabelOpts);ctx.save();ctx.font=plFont.string;ctx.textBaseline="middle";for(var i= scale.chart.data.labels.length-1;i>=0;i--){var extra=i===0?tickBackdropHeight/2:0;var pointLabelPosition=scale.getPointPosition(i,outerDistance+extra+5);var pointLabelFontColor=valueAtIndexOrDefault$1(pointLabelOpts.fontColor,i,core_defaults.global.defaultFontColor);ctx.fillStyle=pointLabelFontColor;var angleRadians=scale.getIndexAngle(i);var angle=helpers$1.toDegrees(angleRadians);ctx.textAlign=getTextAlignForAngle(angle);adjustPointPositionForLabelHeight(angle,scale._pointLabelSizes[i],pointLabelPosition); fillText(ctx,scale.pointLabels[i],pointLabelPosition,plFont.lineHeight)}ctx.restore()}function drawRadiusLine(scale,gridLineOpts,radius,index){var ctx=scale.ctx;var circular=gridLineOpts.circular;var valueCount=scale.chart.data.labels.length;var lineColor=valueAtIndexOrDefault$1(gridLineOpts.color,index-1);var lineWidth=valueAtIndexOrDefault$1(gridLineOpts.lineWidth,index-1);var pointPosition;if(!circular&&!valueCount||!lineColor||!lineWidth)return;ctx.save();ctx.strokeStyle=lineColor;ctx.lineWidth= lineWidth;if(ctx.setLineDash){ctx.setLineDash(gridLineOpts.borderDash||[]);ctx.lineDashOffset=gridLineOpts.borderDashOffset||0}ctx.beginPath();if(circular)ctx.arc(scale.xCenter,scale.yCenter,radius,0,Math.PI*2);else{pointPosition=scale.getPointPosition(0,radius);ctx.moveTo(pointPosition.x,pointPosition.y);for(var i=1;i0&&max>0?min:0)},_drawGrid:function(){var me=this;var ctx=me.ctx;var opts=me.options;var gridLineOpts=opts.gridLines;var angleLineOpts=opts.angleLines;var lineWidth= valueOrDefault$c(angleLineOpts.lineWidth,gridLineOpts.lineWidth);var lineColor=valueOrDefault$c(angleLineOpts.color,gridLineOpts.color);var i,offset,position;if(opts.pointLabels.display)drawPointLabels(me);if(gridLineOpts.display)helpers$1.each(me.ticks,function(label,index){if(index!==0){offset=me.getDistanceFromCenterForValue(me.ticksAsNumbers[index]);drawRadiusLine(me,gridLineOpts,offset,index)}});if(angleLineOpts.display&&lineWidth&&lineColor){ctx.save();ctx.lineWidth=lineWidth;ctx.strokeStyle= lineColor;if(ctx.setLineDash){ctx.setLineDash(resolve$4([angleLineOpts.borderDash,gridLineOpts.borderDash,[]]));ctx.lineDashOffset=resolve$4([angleLineOpts.borderDashOffset,gridLineOpts.borderDashOffset,0])}for(i=me.chart.data.labels.length-1;i>=0;i--){offset=me.getDistanceFromCenterForValue(opts.ticks.reverse?me.min:me.max);position=me.getPointPosition(i,offset);ctx.beginPath();ctx.moveTo(me.xCenter,me.yCenter);ctx.lineTo(position.x,position.y);ctx.stroke()}ctx.restore()}},_drawLabels:function(){var me= this;var ctx=me.ctx;var opts=me.options;var tickOpts=opts.ticks;if(!tickOpts.display)return;var startAngle=me.getIndexAngle(0);var tickFont=helpers$1.options._parseFont(tickOpts);var tickFontColor=valueOrDefault$c(tickOpts.fontColor,core_defaults.global.defaultFontColor);var offset,width;ctx.save();ctx.font=tickFont.string;ctx.translate(me.xCenter,me.yCenter);ctx.rotate(startAngle);ctx.textAlign="center";ctx.textBaseline="middle";helpers$1.each(me.ticks,function(label,index){if(index===0&&!tickOpts.reverse)return; offset=me.getDistanceFromCenterForValue(me.ticksAsNumbers[index]);if(tickOpts.showLabelBackdrop){width=ctx.measureText(label).width;ctx.fillStyle=tickOpts.backdropColor;ctx.fillRect(-width/2-tickOpts.backdropPaddingX,-offset-tickFont.size/2-tickOpts.backdropPaddingY,width+tickOpts.backdropPaddingX*2,tickFont.size+tickOpts.backdropPaddingY*2)}ctx.fillStyle=tickFontColor;ctx.fillText(label,0,-offset)});ctx.restore()},_drawTitle:helpers$1.noop});var _defaults$3=defaultConfig$3;scale_radialLinear._defaults= _defaults$3;var deprecated$1=helpers$1._deprecated;var resolve$5=helpers$1.options.resolve;var valueOrDefault$d=helpers$1.valueOrDefault;var MIN_INTEGER=Number.MIN_SAFE_INTEGER||-9007199254740991;var MAX_INTEGER=Number.MAX_SAFE_INTEGER||9007199254740991;var INTERVALS={millisecond:{common:true,size:1,steps:1E3},second:{common:true,size:1E3,steps:60},minute:{common:true,size:6E4,steps:60},hour:{common:true,size:36E5,steps:24},day:{common:true,size:864E5,steps:30},week:{common:false,size:6048E5,steps:4}, month:{common:true,size:2628E6,steps:12},quarter:{common:false,size:7884E6,steps:4},year:{common:true,size:3154E7}};var UNITS=Object.keys(INTERVALS);function sorter(a,b){return a-b}function arrayUnique(items){var hash={};var out=[];var i,ilen,item;for(i=0,ilen=items.length;imin&&curr=0&&lo<=hi){mid=lo+hi>>1;i0=table[mid-1]||null;i1=table[mid];if(!i0)return{lo:null,hi:i1};else if(i1[key]value)hi=mid-1;else return{lo:i0,hi:i1}}return{lo:i1,hi:null}}function interpolate$1(table,skey,sval,tkey){var range=lookup(table,skey,sval);var prev=!range.lo?table[0]:!range.hi?table[table.length-2]:range.lo;var next=!range.lo?table[1]:!range.hi? table[table.length-1]:range.hi;var span=next[skey]-prev[skey];var ratio=span?(sval-prev[skey])/span:0;var offset=(next[tkey]-prev[tkey])*ratio;return prev[tkey]+offset}function toTimestamp(scale,input){var adapter=scale._adapter;var options=scale.options.time;var parser=options.parser;var format=parser||options.format;var value=input;if(typeof parser==="function")value=parser(value);if(!helpers$1.isFinite(value))value=typeof format==="string"?adapter.parse(value,format):adapter.parse(value);if(value!== null)return+value;if(!parser&&typeof format==="function"){value=format(input);if(!helpers$1.isFinite(value))value=adapter.parse(value)}return value}function parse(scale,input){if(helpers$1.isNullOrUndef(input))return null;var options=scale.options.time;var value=toTimestamp(scale,scale.getRightValue(input));if(value===null)return value;if(options.round)value=+scale._adapter.startOf(value,options.round);return value}function determineUnitForAutoTicks(minUnit,min,max,capacity){var ilen=UNITS.length; var i,interval,factor;for(i=UNITS.indexOf(minUnit);i=UNITS.indexOf(minUnit);i--){unit=UNITS[i];if(INTERVALS[unit].common&&scale._adapter.diff(max,min,unit)>=numTicks-1)return unit}return UNITS[minUnit? UNITS.indexOf(minUnit):0]}function determineMajorUnit(unit){for(var i=UNITS.indexOf(unit)+1,ilen=UNITS.length;i1E5*stepSize)throw min+" and "+max+" are too far apart with stepSize of "+stepSize+" "+minor;for(time=first;time=0)ticks[index].major=true}return ticks}function ticksFromTimestamps(scale,values,majorUnit){var ticks=[];var map={};var ilen=values.length;var i,value;for(i=0;i1?arrayUnique(timestamps).sort(sorter):timestamps.sort(sorter);min=Math.min(min,timestamps[0]);max=Math.max(max,timestamps[timestamps.length-1])}min=parse(me,getMin(options))||min; max=parse(me,getMax(options))||max;min=min===MAX_INTEGER?+adapter.startOf(Date.now(),unit):min;max=max===MIN_INTEGER?+adapter.endOf(Date.now(),unit)+1:max;me.min=Math.min(min,max);me.max=Math.max(min+1,max);me._table=[];me._timestamps={data:timestamps,datasets:datasets,labels:labels}},buildTicks:function(){var me=this;var min=me.min;var max=me.max;var options=me.options;var tickOpts=options.ticks;var timeOpts=options.time;var timestamps=me._timestamps;var ticks=[];var capacity=me.getLabelCapacity(min); var source=tickOpts.source;var distribution=options.distribution;var i,ilen,timestamp;if(source==="data"||source==="auto"&&distribution==="series")timestamps=timestamps.data;else if(source==="labels")timestamps=timestamps.labels;else timestamps=generate(me,min,max,capacity);if(options.bounds==="ticks"&×tamps.length){min=timestamps[0];max=timestamps[timestamps.length-1]}min=parse(me,getMin(options))||min;max=parse(me,getMax(options))||max;for(i=0,ilen=timestamps.length;i=min&×tamp<=max)ticks.push(timestamp)}me.min=min;me.max=max;me._unit=timeOpts.unit||(tickOpts.autoSkip?determineUnitForAutoTicks(timeOpts.minUnit,me.min,me.max,capacity):determineUnitForFormatting(me,ticks.length,timeOpts.minUnit,me.min,me.max));me._majorUnit=!tickOpts.major.enabled||me._unit==="year"?undefined:determineMajorUnit(me._unit);me._table=buildLookupTable(me._timestamps.data,min,max,distribution);me._offsets=computeOffsets(me._table,ticks,min,max,options);if(tickOpts.reverse)ticks.reverse(); return ticksFromTimestamps(me,ticks,me._majorUnit)},getLabelForIndex:function(index,datasetIndex){var me=this;var adapter=me._adapter;var data=me.chart.data;var timeOpts=me.options.time;var label=data.labels&&index=0&&index0?capacity:1}});var _defaults$4=defaultConfig$4;scale_time._defaults=_defaults$4;var scales={category:scale_category,linear:scale_linear,logarithmic:scale_logarithmic,radialLinear:scale_radialLinear,time:scale_time};var moment=createCommonjsModule(function(module,exports){(function(global,factory){module.exports=factory()})(commonjsGlobal,function(){var hookCallback;function hooks(){return hookCallback.apply(null, arguments)}function setHookCallback(callback){hookCallback=callback}function isArray(input){return input instanceof Array||Object.prototype.toString.call(input)==="[object Array]"}function isObject(input){return input!=null&&Object.prototype.toString.call(input)==="[object Object]"}function isObjectEmpty(obj){if(Object.getOwnPropertyNames)return Object.getOwnPropertyNames(obj).length===0;else{var k;for(k in obj)if(obj.hasOwnProperty(k))return false;return true}}function isUndefined(input){return input=== void 0}function isNumber(input){return typeof input==="number"||Object.prototype.toString.call(input)==="[object Number]"}function isDate(input){return input instanceof Date||Object.prototype.toString.call(input)==="[object Date]"}function map(arr,fn){var res=[],i;for(i=0;i>>0;for(var i=0;i0)for(i=0;i0?"future":"past"];return isFunction(format)?format(output):format.replace(/%s/i,output)}var aliases={};function addUnitAlias(unit,shorthand){var lowerCase=unit.toLowerCase();aliases[lowerCase]=aliases[lowerCase+"s"]=aliases[shorthand]=unit}function normalizeUnits(units){return typeof units==="string"?aliases[units]||aliases[units.toLowerCase()]:undefined}function normalizeObjectUnits(inputObject){var normalizedInput={},normalizedProp, prop;for(prop in inputObject)if(hasOwnProp(inputObject,prop)){normalizedProp=normalizeUnits(prop);if(normalizedProp)normalizedInput[normalizedProp]=inputObject[prop]}return normalizedInput}var priorities={};function addUnitPriority(unit,priority){priorities[unit]=priority}function getPrioritizedUnits(unitsObj){var units=[];for(var u in unitsObj)units.push({unit:u,priority:priorities[u]});units.sort(function(a,b){return a.priority-b.priority});return units}function zeroFill(number,targetLength,forceSign){var absNumber= ""+Math.abs(number),zerosToFill=targetLength-absNumber.length,sign=number>=0;return(sign?forceSign?"+":"":"-")+Math.pow(10,Math.max(0,zerosToFill)).toString().substr(1)+absNumber}var formattingTokens=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;var localFormattingTokens=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g;var formatFunctions={};var formatTokenFunctions= {};function addFormatToken(token,padded,ordinal,callback){var func=callback;if(typeof callback==="string")func=function(){return this[callback]()};if(token)formatTokenFunctions[token]=func;if(padded)formatTokenFunctions[padded[0]]=function(){return zeroFill(func.apply(this,arguments),padded[1],padded[2])};if(ordinal)formatTokenFunctions[ordinal]=function(){return this.localeData().ordinal(func.apply(this,arguments),token)}}function removeFormattingTokens(input){if(input.match(/\[[\s\S]/))return input.replace(/^\[|\]$/g, "");return input.replace(/\\/g,"")}function makeFormatFunction(format){var array=format.match(formattingTokens),i,length;for(i=0,length=array.length;i=0&&localFormattingTokens.test(format)){format=format.replace(localFormattingTokens,replaceLongDateFormatTokens);localFormattingTokens.lastIndex=0;i-=1}return format}var match1= /\d/;var match2=/\d\d/;var match3=/\d{3}/;var match4=/\d{4}/;var match6=/[+-]?\d{6}/;var match1to2=/\d\d?/;var match3to4=/\d\d\d\d?/;var match5to6=/\d\d\d\d\d\d?/;var match1to3=/\d{1,3}/;var match1to4=/\d{1,4}/;var match1to6=/[+-]?\d{1,6}/;var matchUnsigned=/\d+/;var matchSigned=/[+-]?\d+/;var matchOffset=/Z|[+-]\d\d:?\d\d/gi;var matchShortOffset=/Z|[+-]\d\d(?::?\d\d)?/gi;var matchTimestamp=/[+-]?\d+(\.\d{1,3})?/;var matchWord=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i; var regexes={};function addRegexToken(token,regex,strictRegex){regexes[token]=isFunction(regex)?regex:function(isStrict,localeData){return isStrict&&strictRegex?strictRegex:regex}}function getParseRegexForToken(token,config){if(!hasOwnProp(regexes,token))return new RegExp(unescapeFormat(token));return regexes[token](config._strict,config._locale)}function unescapeFormat(s){return regexEscape(s.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(matched,p1,p2,p3,p4){return p1|| p2||p3||p4}))}function regexEscape(s){return s.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var tokens={};function addParseToken(token,callback){var i,func=callback;if(typeof token==="string")token=[token];if(isNumber(callback))func=function(input,array){array[callback]=toInt(input)};for(i=0;i68?1900:2E3)};var getSetYear=makeGetSet("FullYear",true);function getIsLeapYear(){return isLeapYear(this.year())}function makeGetSet(unit,keepTime){return function(value){if(value!=null){set$1(this,unit,value);hooks.updateOffset(this,keepTime);return this}else return get(this, unit)}}function get(mom,unit){return mom.isValid()?mom._d["get"+(mom._isUTC?"UTC":"")+unit]():NaN}function set$1(mom,unit,value){if(mom.isValid()&&!isNaN(value))if(unit==="FullYear"&&isLeapYear(mom.year())&&mom.month()===1&&mom.date()===29)mom._d["set"+(mom._isUTC?"UTC":"")+unit](value,mom.month(),daysInMonth(value,mom.month()));else mom._d["set"+(mom._isUTC?"UTC":"")+unit](value)}function stringGet(units){units=normalizeUnits(units);if(isFunction(this[units]))return this[units]();return this}function stringSet(units, value){if(typeof units==="object"){units=normalizeObjectUnits(units);var prioritized=getPrioritizedUnits(units);for(var i=0;i=0){date=new Date(y+400,m,d,h,M,s,ms);if(isFinite(date.getFullYear()))date.setFullYear(y)}else date=new Date(y,m,d,h,M,s,ms);return date}function createUTCDate(y){var date;if(y<100&&y>=0){var args=Array.prototype.slice.call(arguments);args[0]=y+400;date=new Date(Date.UTC.apply(null,args));if(isFinite(date.getUTCFullYear()))date.setUTCFullYear(y)}else date=new Date(Date.UTC.apply(null, arguments));return date}function firstWeekOffset(year,dow,doy){var fwd=7+dow-doy,fwdlw=(7+createUTCDate(year,0,fwd).getUTCDay()-dow)%7;return-fwdlw+fwd-1}function dayOfYearFromWeeks(year,week,weekday,dow,doy){var localWeekday=(7+weekday-dow)%7,weekOffset=firstWeekOffset(year,dow,doy),dayOfYear=1+7*(week-1)+localWeekday+weekOffset,resYear,resDayOfYear;if(dayOfYear<=0){resYear=year-1;resDayOfYear=daysInYear(resYear)+dayOfYear}else if(dayOfYear>daysInYear(year)){resYear=year+1;resDayOfYear=dayOfYear- daysInYear(year)}else{resYear=year;resDayOfYear=dayOfYear}return{year:resYear,dayOfYear:resDayOfYear}}function weekOfYear(mom,dow,doy){var weekOffset=firstWeekOffset(mom.year(),dow,doy),week=Math.floor((mom.dayOfYear()-weekOffset-1)/7)+1,resWeek,resYear;if(week<1){resYear=mom.year()-1;resWeek=week+weeksInYear(resYear,dow,doy)}else if(week>weeksInYear(mom.year(),dow,doy)){resWeek=week-weeksInYear(mom.year(),dow,doy);resYear=mom.year()+1}else{resYear=mom.year();resWeek=week}return{week:resWeek,year:resYear}} function weeksInYear(year,dow,doy){var weekOffset=firstWeekOffset(year,dow,doy),weekOffsetNext=firstWeekOffset(year+1,dow,doy);return(daysInYear(year)-weekOffset+weekOffsetNext)/7}addFormatToken("w",["ww",2],"wo","week");addFormatToken("W",["WW",2],"Wo","isoWeek");addUnitAlias("week","w");addUnitAlias("isoWeek","W");addUnitPriority("week",5);addUnitPriority("isoWeek",5);addRegexToken("w",match1to2);addRegexToken("ww",match1to2,match2);addRegexToken("W",match1to2);addRegexToken("WW",match1to2,match2); addWeekParseToken(["w","ww","W","WW"],function(input,week,config,token){week[token.substr(0,1)]=toInt(input)});function localeWeek(mom){return weekOfYear(mom,this._week.dow,this._week.doy).week}var defaultLocaleWeek={dow:0,doy:6};function localeFirstDayOfWeek(){return this._week.dow}function localeFirstDayOfYear(){return this._week.doy}function getSetWeek(input){var week=this.localeData().week(this);return input==null?week:this.add((input-week)*7,"d")}function getSetISOWeek(input){var week=weekOfYear(this, 1,4).week;return input==null?week:this.add((input-week)*7,"d")}addFormatToken("d",0,"do","day");addFormatToken("dd",0,0,function(format){return this.localeData().weekdaysMin(this,format)});addFormatToken("ddd",0,0,function(format){return this.localeData().weekdaysShort(this,format)});addFormatToken("dddd",0,0,function(format){return this.localeData().weekdays(this,format)});addFormatToken("e",0,0,"weekday");addFormatToken("E",0,0,"isoWeekday");addUnitAlias("day","d");addUnitAlias("weekday","e");addUnitAlias("isoWeekday", "E");addUnitPriority("day",11);addUnitPriority("weekday",11);addUnitPriority("isoWeekday",11);addRegexToken("d",match1to2);addRegexToken("e",match1to2);addRegexToken("E",match1to2);addRegexToken("dd",function(isStrict,locale){return locale.weekdaysMinRegex(isStrict)});addRegexToken("ddd",function(isStrict,locale){return locale.weekdaysShortRegex(isStrict)});addRegexToken("dddd",function(isStrict,locale){return locale.weekdaysRegex(isStrict)});addWeekParseToken(["dd","ddd","dddd"],function(input,week, config,token){var weekday=config._locale.weekdaysParse(input,token,config._strict);if(weekday!=null)week.d=weekday;else getParsingFlags(config).invalidWeekday=input});addWeekParseToken(["d","e","E"],function(input,week,config,token){week[token]=toInt(input)});function parseWeekday(input,locale){if(typeof input!=="string")return input;if(!isNaN(input))return parseInt(input,10);input=locale.weekdaysParse(input);if(typeof input==="number")return input;return null}function parseIsoWeekday(input,locale){if(typeof input=== "string")return locale.weekdaysParse(input)%7||7;return isNaN(input)?null:input}function shiftWeekdays(ws,n){return ws.slice(n,7).concat(ws.slice(0,n))}var defaultLocaleWeekdays="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_");function localeWeekdays(m,format){var weekdays=isArray(this._weekdays)?this._weekdays:this._weekdays[m&&m!==true&&this._weekdays.isFormat.test(format)?"format":"standalone"];return m===true?shiftWeekdays(weekdays,this._week.dow):m?weekdays[m.day()]:weekdays} var defaultLocaleWeekdaysShort="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_");function localeWeekdaysShort(m){return m===true?shiftWeekdays(this._weekdaysShort,this._week.dow):m?this._weekdaysShort[m.day()]:this._weekdaysShort}var defaultLocaleWeekdaysMin="Su_Mo_Tu_We_Th_Fr_Sa".split("_");function localeWeekdaysMin(m){return m===true?shiftWeekdays(this._weekdaysMin,this._week.dow):m?this._weekdaysMin[m.day()]:this._weekdaysMin}function handleStrictParse$1(weekdayName,format,strict){var i,ii,mom,llc=weekdayName.toLocaleLowerCase(); if(!this._weekdaysParse){this._weekdaysParse=[];this._shortWeekdaysParse=[];this._minWeekdaysParse=[];for(i=0;i<7;++i){mom=createUTC([2E3,1]).day(i);this._minWeekdaysParse[i]=this.weekdaysMin(mom,"").toLocaleLowerCase();this._shortWeekdaysParse[i]=this.weekdaysShort(mom,"").toLocaleLowerCase();this._weekdaysParse[i]=this.weekdays(mom,"").toLocaleLowerCase()}}if(strict)if(format==="dddd"){ii=indexOf.call(this._weekdaysParse,llc);return ii!==-1?ii:null}else if(format==="ddd"){ii=indexOf.call(this._shortWeekdaysParse, llc);return ii!==-1?ii:null}else{ii=indexOf.call(this._minWeekdaysParse,llc);return ii!==-1?ii:null}else if(format==="dddd"){ii=indexOf.call(this._weekdaysParse,llc);if(ii!==-1)return ii;ii=indexOf.call(this._shortWeekdaysParse,llc);if(ii!==-1)return ii;ii=indexOf.call(this._minWeekdaysParse,llc);return ii!==-1?ii:null}else if(format==="ddd"){ii=indexOf.call(this._shortWeekdaysParse,llc);if(ii!==-1)return ii;ii=indexOf.call(this._weekdaysParse,llc);if(ii!==-1)return ii;ii=indexOf.call(this._minWeekdaysParse, llc);return ii!==-1?ii:null}else{ii=indexOf.call(this._minWeekdaysParse,llc);if(ii!==-1)return ii;ii=indexOf.call(this._weekdaysParse,llc);if(ii!==-1)return ii;ii=indexOf.call(this._shortWeekdaysParse,llc);return ii!==-1?ii:null}}function localeWeekdaysParse(weekdayName,format,strict){var i,mom,regex;if(this._weekdaysParseExact)return handleStrictParse$1.call(this,weekdayName,format,strict);if(!this._weekdaysParse){this._weekdaysParse=[];this._minWeekdaysParse=[];this._shortWeekdaysParse=[];this._fullWeekdaysParse= []}for(i=0;i<7;i++){mom=createUTC([2E3,1]).day(i);if(strict&&!this._fullWeekdaysParse[i]){this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(mom,"").replace(".","\\.?")+"$","i");this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(mom,"").replace(".","\\.?")+"$","i");this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(mom,"").replace(".","\\.?")+"$","i")}if(!this._weekdaysParse[i]){regex="^"+this.weekdays(mom,"")+"|^"+this.weekdaysShort(mom,"")+"|^"+this.weekdaysMin(mom,"");this._weekdaysParse[i]= new RegExp(regex.replace(".",""),"i")}if(strict&&format==="dddd"&&this._fullWeekdaysParse[i].test(weekdayName))return i;else if(strict&&format==="ddd"&&this._shortWeekdaysParse[i].test(weekdayName))return i;else if(strict&&format==="dd"&&this._minWeekdaysParse[i].test(weekdayName))return i;else if(!strict&&this._weekdaysParse[i].test(weekdayName))return i}}function getSetDayOfWeek(input){if(!this.isValid())return input!=null?this:NaN;var day=this._isUTC?this._d.getUTCDay():this._d.getDay();if(input!= null){input=parseWeekday(input,this.localeData());return this.add(input-day,"d")}else return day}function getSetLocaleDayOfWeek(input){if(!this.isValid())return input!=null?this:NaN;var weekday=(this.day()+7-this.localeData()._week.dow)%7;return input==null?weekday:this.add(input-weekday,"d")}function getSetISODayOfWeek(input){if(!this.isValid())return input!=null?this:NaN;if(input!=null){var weekday=parseIsoWeekday(input,this.localeData());return this.day(this.day()%7?weekday:weekday-7)}else return this.day()|| 7}var defaultWeekdaysRegex=matchWord;function weekdaysRegex(isStrict){if(this._weekdaysParseExact){if(!hasOwnProp(this,"_weekdaysRegex"))computeWeekdaysParse.call(this);if(isStrict)return this._weekdaysStrictRegex;else return this._weekdaysRegex}else{if(!hasOwnProp(this,"_weekdaysRegex"))this._weekdaysRegex=defaultWeekdaysRegex;return this._weekdaysStrictRegex&&isStrict?this._weekdaysStrictRegex:this._weekdaysRegex}}var defaultWeekdaysShortRegex=matchWord;function weekdaysShortRegex(isStrict){if(this._weekdaysParseExact){if(!hasOwnProp(this, "_weekdaysRegex"))computeWeekdaysParse.call(this);if(isStrict)return this._weekdaysShortStrictRegex;else return this._weekdaysShortRegex}else{if(!hasOwnProp(this,"_weekdaysShortRegex"))this._weekdaysShortRegex=defaultWeekdaysShortRegex;return this._weekdaysShortStrictRegex&&isStrict?this._weekdaysShortStrictRegex:this._weekdaysShortRegex}}var defaultWeekdaysMinRegex=matchWord;function weekdaysMinRegex(isStrict){if(this._weekdaysParseExact){if(!hasOwnProp(this,"_weekdaysRegex"))computeWeekdaysParse.call(this); if(isStrict)return this._weekdaysMinStrictRegex;else return this._weekdaysMinRegex}else{if(!hasOwnProp(this,"_weekdaysMinRegex"))this._weekdaysMinRegex=defaultWeekdaysMinRegex;return this._weekdaysMinStrictRegex&&isStrict?this._weekdaysMinStrictRegex:this._weekdaysMinRegex}}function computeWeekdaysParse(){function cmpLenRev(a,b){return b.length-a.length}var minPieces=[],shortPieces=[],longPieces=[],mixedPieces=[],i,mom,minp,shortp,longp;for(i=0;i<7;i++){mom=createUTC([2E3,1]).day(i);minp=this.weekdaysMin(mom, "");shortp=this.weekdaysShort(mom,"");longp=this.weekdays(mom,"");minPieces.push(minp);shortPieces.push(shortp);longPieces.push(longp);mixedPieces.push(minp);mixedPieces.push(shortp);mixedPieces.push(longp)}minPieces.sort(cmpLenRev);shortPieces.sort(cmpLenRev);longPieces.sort(cmpLenRev);mixedPieces.sort(cmpLenRev);for(i=0;i<7;i++){shortPieces[i]=regexEscape(shortPieces[i]);longPieces[i]=regexEscape(longPieces[i]);mixedPieces[i]=regexEscape(mixedPieces[i])}this._weekdaysRegex=new RegExp("^("+mixedPieces.join("|")+ ")","i");this._weekdaysShortRegex=this._weekdaysRegex;this._weekdaysMinRegex=this._weekdaysRegex;this._weekdaysStrictRegex=new RegExp("^("+longPieces.join("|")+")","i");this._weekdaysShortStrictRegex=new RegExp("^("+shortPieces.join("|")+")","i");this._weekdaysMinStrictRegex=new RegExp("^("+minPieces.join("|")+")","i")}function hFormat(){return this.hours()%12||12}function kFormat(){return this.hours()||24}addFormatToken("H",["HH",2],0,"hour");addFormatToken("h",["hh",2],0,hFormat);addFormatToken("k", ["kk",2],0,kFormat);addFormatToken("hmm",0,0,function(){return""+hFormat.apply(this)+zeroFill(this.minutes(),2)});addFormatToken("hmmss",0,0,function(){return""+hFormat.apply(this)+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2)});addFormatToken("Hmm",0,0,function(){return""+this.hours()+zeroFill(this.minutes(),2)});addFormatToken("Hmmss",0,0,function(){return""+this.hours()+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2)});function meridiem(token,lowercase){addFormatToken(token,0,0,function(){return this.localeData().meridiem(this.hours(), this.minutes(),lowercase)})}meridiem("a",true);meridiem("A",false);addUnitAlias("hour","h");addUnitPriority("hour",13);function matchMeridiem(isStrict,locale){return locale._meridiemParse}addRegexToken("a",matchMeridiem);addRegexToken("A",matchMeridiem);addRegexToken("H",match1to2);addRegexToken("h",match1to2);addRegexToken("k",match1to2);addRegexToken("HH",match1to2,match2);addRegexToken("hh",match1to2,match2);addRegexToken("kk",match1to2,match2);addRegexToken("hmm",match3to4);addRegexToken("hmmss", match5to6);addRegexToken("Hmm",match3to4);addRegexToken("Hmmss",match5to6);addParseToken(["H","HH"],HOUR);addParseToken(["k","kk"],function(input,array,config){var kInput=toInt(input);array[HOUR]=kInput===24?0:kInput});addParseToken(["a","A"],function(input,array,config){config._isPm=config._locale.isPM(input);config._meridiem=input});addParseToken(["h","hh"],function(input,array,config){array[HOUR]=toInt(input);getParsingFlags(config).bigHour=true});addParseToken("hmm",function(input,array,config){var pos= input.length-2;array[HOUR]=toInt(input.substr(0,pos));array[MINUTE]=toInt(input.substr(pos));getParsingFlags(config).bigHour=true});addParseToken("hmmss",function(input,array,config){var pos1=input.length-4;var pos2=input.length-2;array[HOUR]=toInt(input.substr(0,pos1));array[MINUTE]=toInt(input.substr(pos1,2));array[SECOND]=toInt(input.substr(pos2));getParsingFlags(config).bigHour=true});addParseToken("Hmm",function(input,array,config){var pos=input.length-2;array[HOUR]=toInt(input.substr(0,pos)); array[MINUTE]=toInt(input.substr(pos))});addParseToken("Hmmss",function(input,array,config){var pos1=input.length-4;var pos2=input.length-2;array[HOUR]=toInt(input.substr(0,pos1));array[MINUTE]=toInt(input.substr(pos1,2));array[SECOND]=toInt(input.substr(pos2))});function localeIsPM(input){return(input+"").toLowerCase().charAt(0)==="p"}var defaultLocaleMeridiemParse=/[ap]\.?m?\.?/i;function localeMeridiem(hours,minutes,isLower){if(hours>11)return isLower?"pm":"PM";else return isLower?"am":"AM"}var getSetHour= makeGetSet("Hours",true);var baseConfig={calendar:defaultCalendar,longDateFormat:defaultLongDateFormat,invalidDate:defaultInvalidDate,ordinal:defaultOrdinal,dayOfMonthOrdinalParse:defaultDayOfMonthOrdinalParse,relativeTime:defaultRelativeTime,months:defaultLocaleMonths,monthsShort:defaultLocaleMonthsShort,week:defaultLocaleWeek,weekdays:defaultLocaleWeekdays,weekdaysMin:defaultLocaleWeekdaysMin,weekdaysShort:defaultLocaleWeekdaysShort,meridiemParse:defaultLocaleMeridiemParse};var locales={};var localeFamilies= {};var globalLocale;function normalizeLocale(key){return key?key.toLowerCase().replace("_","-"):key}function chooseLocale(names){var i=0,j,next,locale,split;while(i0){locale=loadLocale(split.slice(0,j).join("-"));if(locale)return locale;if(next&&next.length>=j&&compareArrays(split,next,true)>=j-1)break;j--}i++}return globalLocale}function loadLocale(name){var oldLocale= null;if(!locales[name]&&"object"!=="undefined"&&module&&module.exports)try{oldLocale=globalLocale._abbr;var aliasedRequire=commonjsRequire;aliasedRequire("./locale/"+name);getSetGlobalLocale(oldLocale)}catch(e){}return locales[name]}function getSetGlobalLocale(key,values){var data;if(key){if(isUndefined(values))data=getLocale(key);else data=defineLocale(key,values);if(data)globalLocale=data;else if(typeof console!=="undefined"&&console.warn)console.warn("Locale "+key+" not found. Did you forget to load it?")}return globalLocale._abbr} function defineLocale(name,config){if(config!==null){var locale,parentConfig=baseConfig;config.abbr=name;if(locales[name]!=null){deprecateSimple("defineLocaleOverride","use moment.updateLocale(localeName, config) to change "+"an existing locale. moment.defineLocale(localeName, "+"config) should only be used for creating a new locale "+"See http://momentjs.com/guides/#/warnings/define-locale/ for more info.");parentConfig=locales[name]._config}else if(config.parentLocale!=null)if(locales[config.parentLocale]!= null)parentConfig=locales[config.parentLocale]._config;else{locale=loadLocale(config.parentLocale);if(locale!=null)parentConfig=locale._config;else{if(!localeFamilies[config.parentLocale])localeFamilies[config.parentLocale]=[];localeFamilies[config.parentLocale].push({name:name,config:config});return null}}locales[name]=new Locale(mergeConfigs(parentConfig,config));if(localeFamilies[name])localeFamilies[name].forEach(function(x){defineLocale(x.name,x.config)});getSetGlobalLocale(name);return locales[name]}else{delete locales[name]; return null}}function updateLocale(name,config){if(config!=null){var locale,tmpLocale,parentConfig=baseConfig;tmpLocale=loadLocale(name);if(tmpLocale!=null)parentConfig=tmpLocale._config;config=mergeConfigs(parentConfig,config);locale=new Locale(config);locale.parentLocale=locales[name];locales[name]=locale;getSetGlobalLocale(name)}else if(locales[name]!=null)if(locales[name].parentLocale!=null)locales[name]=locales[name].parentLocale;else if(locales[name]!=null)delete locales[name];return locales[name]} function getLocale(key){var locale;if(key&&key._locale&&key._locale._abbr)key=key._locale._abbr;if(!key)return globalLocale;if(!isArray(key)){locale=loadLocale(key);if(locale)return locale;key=[key]}return chooseLocale(key)}function listLocales(){return keys(locales)}function checkOverflow(m){var overflow;var a=m._a;if(a&&getParsingFlags(m).overflow===-2){overflow=a[MONTH]<0||a[MONTH]>11?MONTH:a[DATE]<1||a[DATE]>daysInMonth(a[YEAR],a[MONTH])?DATE:a[HOUR]<0||a[HOUR]>24||a[HOUR]===24&&(a[MINUTE]!== 0||a[SECOND]!==0||a[MILLISECOND]!==0)?HOUR:a[MINUTE]<0||a[MINUTE]>59?MINUTE:a[SECOND]<0||a[SECOND]>59?SECOND:a[MILLISECOND]<0||a[MILLISECOND]>999?MILLISECOND:-1;if(getParsingFlags(m)._overflowDayOfYear&&(overflowDATE))overflow=DATE;if(getParsingFlags(m)._overflowWeeks&&overflow===-1)overflow=WEEK;if(getParsingFlags(m)._overflowWeekday&&overflow===-1)overflow=WEEKDAY;getParsingFlags(m).overflow=overflow}return m}function defaults(a,b,c){if(a!=null)return a;if(b!=null)return b;return c} function currentDateArray(config){var nowValue=new Date(hooks.now());if(config._useUTC)return[nowValue.getUTCFullYear(),nowValue.getUTCMonth(),nowValue.getUTCDate()];return[nowValue.getFullYear(),nowValue.getMonth(),nowValue.getDate()]}function configFromArray(config){var i,date,input=[],currentDate,expectedWeekday,yearToUse;if(config._d)return;currentDate=currentDateArray(config);if(config._w&&config._a[DATE]==null&&config._a[MONTH]==null)dayOfYearFromWeekInfo(config);if(config._dayOfYear!=null){yearToUse= defaults(config._a[YEAR],currentDate[YEAR]);if(config._dayOfYear>daysInYear(yearToUse)||config._dayOfYear===0)getParsingFlags(config)._overflowDayOfYear=true;date=createUTCDate(yearToUse,0,config._dayOfYear);config._a[MONTH]=date.getUTCMonth();config._a[DATE]=date.getUTCDate()}for(i=0;i<3&&config._a[i]==null;++i)config._a[i]=input[i]=currentDate[i];for(;i<7;i++)config._a[i]=input[i]=config._a[i]==null?i===2?1:0:config._a[i];if(config._a[HOUR]===24&&config._a[MINUTE]===0&&config._a[SECOND]===0&&config._a[MILLISECOND]=== 0){config._nextDay=true;config._a[HOUR]=0}config._d=(config._useUTC?createUTCDate:createDate).apply(null,input);expectedWeekday=config._useUTC?config._d.getUTCDay():config._d.getDay();if(config._tzm!=null)config._d.setUTCMinutes(config._d.getUTCMinutes()-config._tzm);if(config._nextDay)config._a[HOUR]=24;if(config._w&&typeof config._w.d!=="undefined"&&config._w.d!==expectedWeekday)getParsingFlags(config).weekdayMismatch=true}function dayOfYearFromWeekInfo(config){var w,weekYear,week,weekday,dow,doy, temp,weekdayOverflow;w=config._w;if(w.GG!=null||w.W!=null||w.E!=null){dow=1;doy=4;weekYear=defaults(w.GG,config._a[YEAR],weekOfYear(createLocal(),1,4).year);week=defaults(w.W,1);weekday=defaults(w.E,1);if(weekday<1||weekday>7)weekdayOverflow=true}else{dow=config._locale._week.dow;doy=config._locale._week.doy;var curWeek=weekOfYear(createLocal(),dow,doy);weekYear=defaults(w.gg,config._a[YEAR],curWeek.year);week=defaults(w.w,curWeek.week);if(w.d!=null){weekday=w.d;if(weekday<0||weekday>6)weekdayOverflow= true}else if(w.e!=null){weekday=w.e+dow;if(w.e<0||w.e>6)weekdayOverflow=true}else weekday=dow}if(week<1||week>weeksInYear(weekYear,dow,doy))getParsingFlags(config)._overflowWeeks=true;else if(weekdayOverflow!=null)getParsingFlags(config)._overflowWeekday=true;else{temp=dayOfYearFromWeeks(weekYear,week,weekday,dow,doy);config._a[YEAR]=temp.year;config._dayOfYear=temp.dayOfYear}}var extendedIsoRegex=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/; var basicIsoRegex=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/;var tzRegex=/Z|[+-]\d\d(?::?\d\d)?/;var isoDates=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,false],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,false],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/, false],["YYYYDDD",/\d{7}/]];var isoTimes=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]];var aspNetJsonRegex=/^\/?Date\((\-?\d+)/i;function configFromISO(config){var i,l,string=config._i,match=extendedIsoRegex.exec(string)||basicIsoRegex.exec(string),allowTime,dateFormat,timeFormat,tzFormat; if(match){getParsingFlags(config).iso=true;for(i=0,l=isoDates.length;i0)getParsingFlags(config).unusedInput.push(skipped);string= string.slice(string.indexOf(parsedInput)+parsedInput.length);totalParsedInputLength+=parsedInput.length}if(formatTokenFunctions[token]){if(parsedInput)getParsingFlags(config).empty=false;else getParsingFlags(config).unusedTokens.push(token);addTimeToArrayFromToken(token,parsedInput,config)}else if(config._strict&&!parsedInput)getParsingFlags(config).unusedTokens.push(token)}getParsingFlags(config).charsLeftOver=stringLength-totalParsedInputLength;if(string.length>0)getParsingFlags(config).unusedInput.push(string); if(config._a[HOUR]<=12&&getParsingFlags(config).bigHour===true&&config._a[HOUR]>0)getParsingFlags(config).bigHour=undefined;getParsingFlags(config).parsedDateParts=config._a.slice(0);getParsingFlags(config).meridiem=config._meridiem;config._a[HOUR]=meridiemFixWrap(config._locale,config._a[HOUR],config._meridiem);configFromArray(config);checkOverflow(config)}function meridiemFixWrap(locale,hour,meridiem){var isPm;if(meridiem==null)return hour;if(locale.meridiemHour!=null)return locale.meridiemHour(hour, meridiem);else if(locale.isPM!=null){isPm=locale.isPM(meridiem);if(isPm&&hour<12)hour+=12;if(!isPm&&hour===12)hour=0;return hour}else return hour}function configFromStringAndArray(config){var tempConfig,bestMoment,scoreToBeat,i,currentScore;if(config._f.length===0){getParsingFlags(config).invalidFormat=true;config._d=new Date(NaN);return}for(i=0;ithis?this:other;else return createInvalid()});function pickBy(fn,moments){var res,i;if(moments.length===1&&isArray(moments[0]))moments=moments[0];if(!moments.length)return createLocal();res=moments[0];for(i=1;ithis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function isDaylightSavingTimeShifted(){if(!isUndefined(this._isDSTShifted))return this._isDSTShifted; var c={};copyConfig(c,this);c=prepareConfig(c);if(c._a){var other=c._isUTC?createUTC(c._a):createLocal(c._a);this._isDSTShifted=this.isValid()&&compareArrays(c._a,other.toArray())>0}else this._isDSTShifted=false;return this._isDSTShifted}function isLocal(){return this.isValid()?!this._isUTC:false}function isUtcOffset(){return this.isValid()?this._isUTC:false}function isUtc(){return this.isValid()?this._isUTC&&this._offset===0:false}var aspNetRegex=/^(\-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/; var isoRegex=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function createDuration(input,key){var duration=input,match=null,sign,ret,diffRes;if(isDuration(input))duration={ms:input._milliseconds,d:input._days,M:input._months};else if(isNumber(input)){duration={};if(key)duration[key]=input;else duration.milliseconds=input}else if(!!(match=aspNetRegex.exec(input))){sign=match[1]=== "-"?-1:1;duration={y:0,d:toInt(match[DATE])*sign,h:toInt(match[HOUR])*sign,m:toInt(match[MINUTE])*sign,s:toInt(match[SECOND])*sign,ms:toInt(absRound(match[MILLISECOND]*1E3))*sign}}else if(!!(match=isoRegex.exec(input))){sign=match[1]==="-"?-1:1;duration={y:parseIso(match[2],sign),M:parseIso(match[3],sign),w:parseIso(match[4],sign),d:parseIso(match[5],sign),h:parseIso(match[6],sign),m:parseIso(match[7],sign),s:parseIso(match[8],sign)}}else if(duration==null)duration={};else if(typeof duration==="object"&& ("from"in duration||"to"in duration)){diffRes=momentsDifference(createLocal(duration.from),createLocal(duration.to));duration={};duration.ms=diffRes.milliseconds;duration.M=diffRes.months}ret=new Duration(duration);if(isDuration(input)&&hasOwnProp(input,"_locale"))ret._locale=input._locale;return ret}createDuration.fn=Duration.prototype;createDuration.invalid=createInvalid$1;function parseIso(inp,sign){var res=inp&&parseFloat(inp.replace(",","."));return(isNaN(res)?0:res)*sign}function positiveMomentsDifference(base, other){var res={};res.months=other.month()-base.month()+(other.year()-base.year())*12;if(base.clone().add(res.months,"M").isAfter(other))--res.months;res.milliseconds=+other-+base.clone().add(res.months,"M");return res}function momentsDifference(base,other){var res;if(!(base.isValid()&&other.isValid()))return{milliseconds:0,months:0};other=cloneWithOffset(other,base);if(base.isBefore(other))res=positiveMomentsDifference(base,other);else{res=positiveMomentsDifference(other,base);res.milliseconds=-res.milliseconds; res.months=-res.months}return res}function createAdder(direction,name){return function(val,period){var dur,tmp;if(period!==null&&!isNaN(+period)){deprecateSimple(name,"moment()."+name+"(period, number) is deprecated. Please use moment()."+name+"(number, period). "+"See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.");tmp=val;val=period;period=tmp}val=typeof val==="string"?+val:val;dur=createDuration(val,period);addSubtract(this,dur,direction);return this}}function addSubtract(mom, duration,isAdding,updateOffset){var milliseconds=duration._milliseconds,days=absRound(duration._days),months=absRound(duration._months);if(!mom.isValid())return;updateOffset=updateOffset==null?true:updateOffset;if(months)setMonth(mom,get(mom,"Month")+months*isAdding);if(days)set$1(mom,"Date",get(mom,"Date")+days*isAdding);if(milliseconds)mom._d.setTime(mom._d.valueOf()+milliseconds*isAdding);if(updateOffset)hooks.updateOffset(mom,days||months)}var add=createAdder(1,"add");var subtract=createAdder(-1, "subtract");function getCalendarFormat(myMoment,now){var diff=myMoment.diff(now,"days",true);return diff<-6?"sameElse":diff<-1?"lastWeek":diff<0?"lastDay":diff<1?"sameDay":diff<2?"nextDay":diff<7?"nextWeek":"sameElse"}function calendar$1(time,formats){var now=time||createLocal(),sod=cloneWithOffset(now,this).startOf("day"),format=hooks.calendarFormat(this,sod)||"sameElse";var output=formats&&(isFunction(formats[format])?formats[format].call(this,now):formats[format]);return this.format(output||this.localeData().calendar(format, this,createLocal(now)))}function clone(){return new Moment(this)}function isAfter(input,units){var localInput=isMoment(input)?input:createLocal(input);if(!(this.isValid()&&localInput.isValid()))return false;units=normalizeUnits(units)||"millisecond";if(units==="millisecond")return this.valueOf()>localInput.valueOf();else return localInput.valueOf()9999)return formatMoment(m,utc?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ");if(isFunction(Date.prototype.toISOString))if(utc)return this.toDate().toISOString();else return(new Date(this.valueOf()+this.utcOffset()*60*1E3)).toISOString().replace("Z",formatMoment(m,"Z"));return formatMoment(m,utc?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function inspect(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)"; var func="moment";var zone="";if(!this.isLocal()){func=this.utcOffset()===0?"moment.utc":"moment.parseZone";zone="Z"}var prefix="["+func+'("]';var year=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY";var datetime="-MM-DD[T]HH:mm:ss.SSS";var suffix=zone+'[")]';return this.format(prefix+year+datetime+suffix)}function format(inputString){if(!inputString)inputString=this.isUtc()?hooks.defaultFormatUtc:hooks.defaultFormat;var output=formatMoment(this,inputString);return this.localeData().postformat(output)} function from(time,withoutSuffix){if(this.isValid()&&(isMoment(time)&&time.isValid()||createLocal(time).isValid()))return createDuration({to:this,from:time}).locale(this.locale()).humanize(!withoutSuffix);else return this.localeData().invalidDate()}function fromNow(withoutSuffix){return this.from(createLocal(),withoutSuffix)}function to(time,withoutSuffix){if(this.isValid()&&(isMoment(time)&&time.isValid()||createLocal(time).isValid()))return createDuration({from:this,to:time}).locale(this.locale()).humanize(!withoutSuffix); else return this.localeData().invalidDate()}function toNow(withoutSuffix){return this.to(createLocal(),withoutSuffix)}function locale(key){var newLocaleData;if(key===undefined)return this._locale._abbr;else{newLocaleData=getLocale(key);if(newLocaleData!=null)this._locale=newLocaleData;return this}}var lang=deprecate("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(key){if(key===undefined)return this.localeData(); else return this.locale(key)});function localeData(){return this._locale}var MS_PER_SECOND=1E3;var MS_PER_MINUTE=60*MS_PER_SECOND;var MS_PER_HOUR=60*MS_PER_MINUTE;var MS_PER_400_YEARS=(365*400+97)*24*MS_PER_HOUR;function mod$1(dividend,divisor){return(dividend%divisor+divisor)%divisor}function localStartOfDate(y,m,d){if(y<100&&y>=0)return new Date(y+400,m,d)-MS_PER_400_YEARS;else return(new Date(y,m,d)).valueOf()}function utcStartOfDate(y,m,d){if(y<100&&y>=0)return Date.UTC(y+400,m,d)-MS_PER_400_YEARS; else return Date.UTC(y,m,d)}function startOf(units){var time;units=normalizeUnits(units);if(units===undefined||units==="millisecond"||!this.isValid())return this;var startOfDate=this._isUTC?utcStartOfDate:localStartOfDate;switch(units){case "year":time=startOfDate(this.year(),0,1);break;case "quarter":time=startOfDate(this.year(),this.month()-this.month()%3,1);break;case "month":time=startOfDate(this.year(),this.month(),1);break;case "week":time=startOfDate(this.year(),this.month(),this.date()-this.weekday()); break;case "isoWeek":time=startOfDate(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case "day":case "date":time=startOfDate(this.year(),this.month(),this.date());break;case "hour":time=this._d.valueOf();time-=mod$1(time+(this._isUTC?0:this.utcOffset()*MS_PER_MINUTE),MS_PER_HOUR);break;case "minute":time=this._d.valueOf();time-=mod$1(time,MS_PER_MINUTE);break;case "second":time=this._d.valueOf();time-=mod$1(time,MS_PER_SECOND);break}this._d.setTime(time);hooks.updateOffset(this, true);return this}function endOf(units){var time;units=normalizeUnits(units);if(units===undefined||units==="millisecond"||!this.isValid())return this;var startOfDate=this._isUTC?utcStartOfDate:localStartOfDate;switch(units){case "year":time=startOfDate(this.year()+1,0,1)-1;break;case "quarter":time=startOfDate(this.year(),this.month()-this.month()%3+3,1)-1;break;case "month":time=startOfDate(this.year(),this.month()+1,1)-1;break;case "week":time=startOfDate(this.year(),this.month(),this.date()-this.weekday()+ 7)-1;break;case "isoWeek":time=startOfDate(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case "day":case "date":time=startOfDate(this.year(),this.month(),this.date()+1)-1;break;case "hour":time=this._d.valueOf();time+=MS_PER_HOUR-mod$1(time+(this._isUTC?0:this.utcOffset()*MS_PER_MINUTE),MS_PER_HOUR)-1;break;case "minute":time=this._d.valueOf();time+=MS_PER_MINUTE-mod$1(time,MS_PER_MINUTE)-1;break;case "second":time=this._d.valueOf();time+=MS_PER_SECOND-mod$1(time,MS_PER_SECOND)- 1;break}this._d.setTime(time);hooks.updateOffset(this,true);return this}function valueOf(){return this._d.valueOf()-(this._offset||0)*6E4}function unix(){return Math.floor(this.valueOf()/1E3)}function toDate(){return new Date(this.valueOf())}function toArray(){var m=this;return[m.year(),m.month(),m.date(),m.hour(),m.minute(),m.second(),m.millisecond()]}function toObject(){var m=this;return{years:m.year(),months:m.month(),date:m.date(),hours:m.hours(),minutes:m.minutes(),seconds:m.seconds(),milliseconds:m.milliseconds()}} function toJSON(){return this.isValid()?this.toISOString():null}function isValid$2(){return isValid(this)}function parsingFlags(){return extend({},getParsingFlags(this))}function invalidAt(){return getParsingFlags(this).overflow}function creationData(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}addFormatToken(0,["gg",2],0,function(){return this.weekYear()%100});addFormatToken(0,["GG",2],0,function(){return this.isoWeekYear()%100});function addWeekYearFormatToken(token, getter){addFormatToken(0,[token,token.length],0,getter)}addWeekYearFormatToken("gggg","weekYear");addWeekYearFormatToken("ggggg","weekYear");addWeekYearFormatToken("GGGG","isoWeekYear");addWeekYearFormatToken("GGGGG","isoWeekYear");addUnitAlias("weekYear","gg");addUnitAlias("isoWeekYear","GG");addUnitPriority("weekYear",1);addUnitPriority("isoWeekYear",1);addRegexToken("G",matchSigned);addRegexToken("g",matchSigned);addRegexToken("GG",match1to2,match2);addRegexToken("gg",match1to2,match2);addRegexToken("GGGG", match1to4,match4);addRegexToken("gggg",match1to4,match4);addRegexToken("GGGGG",match1to6,match6);addRegexToken("ggggg",match1to6,match6);addWeekParseToken(["gggg","ggggg","GGGG","GGGGG"],function(input,week,config,token){week[token.substr(0,2)]=toInt(input)});addWeekParseToken(["gg","GG"],function(input,week,config,token){week[token]=hooks.parseTwoDigitYear(input)});function getSetWeekYear(input){return getSetWeekYearHelper.call(this,input,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)} function getSetISOWeekYear(input){return getSetWeekYearHelper.call(this,input,this.isoWeek(),this.isoWeekday(),1,4)}function getISOWeeksInYear(){return weeksInYear(this.year(),1,4)}function getWeeksInYear(){var weekInfo=this.localeData()._week;return weeksInYear(this.year(),weekInfo.dow,weekInfo.doy)}function getSetWeekYearHelper(input,week,weekday,dow,doy){var weeksTarget;if(input==null)return weekOfYear(this,dow,doy).year;else{weeksTarget=weeksInYear(input,dow,doy);if(week>weeksTarget)week=weeksTarget; return setWeekAll.call(this,input,week,weekday,dow,doy)}}function setWeekAll(weekYear,week,weekday,dow,doy){var dayOfYearData=dayOfYearFromWeeks(weekYear,week,weekday,dow,doy),date=createUTCDate(dayOfYearData.year,0,dayOfYearData.dayOfYear);this.year(date.getUTCFullYear());this.month(date.getUTCMonth());this.date(date.getUTCDate());return this}addFormatToken("Q",0,"Qo","quarter");addUnitAlias("quarter","Q");addUnitPriority("quarter",7);addRegexToken("Q",match1);addParseToken("Q",function(input,array){array[MONTH]= (toInt(input)-1)*3});function getSetQuarter(input){return input==null?Math.ceil((this.month()+1)/3):this.month((input-1)*3+this.month()%3)}addFormatToken("D",["DD",2],"Do","date");addUnitAlias("date","D");addUnitPriority("date",9);addRegexToken("D",match1to2);addRegexToken("DD",match1to2,match2);addRegexToken("Do",function(isStrict,locale){return isStrict?locale._dayOfMonthOrdinalParse||locale._ordinalParse:locale._dayOfMonthOrdinalParseLenient});addParseToken(["D","DD"],DATE);addParseToken("Do", function(input,array){array[DATE]=toInt(input.match(match1to2)[0])});var getSetDayOfMonth=makeGetSet("Date",true);addFormatToken("DDD",["DDDD",3],"DDDo","dayOfYear");addUnitAlias("dayOfYear","DDD");addUnitPriority("dayOfYear",4);addRegexToken("DDD",match1to3);addRegexToken("DDDD",match3);addParseToken(["DDD","DDDD"],function(input,array,config){config._dayOfYear=toInt(input)});function getSetDayOfYear(input){var dayOfYear=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864E5)+ 1;return input==null?dayOfYear:this.add(input-dayOfYear,"d")}addFormatToken("m",["mm",2],0,"minute");addUnitAlias("minute","m");addUnitPriority("minute",14);addRegexToken("m",match1to2);addRegexToken("mm",match1to2,match2);addParseToken(["m","mm"],MINUTE);var getSetMinute=makeGetSet("Minutes",false);addFormatToken("s",["ss",2],0,"second");addUnitAlias("second","s");addUnitPriority("second",15);addRegexToken("s",match1to2);addRegexToken("ss",match1to2,match2);addParseToken(["s","ss"],SECOND);var getSetSecond= makeGetSet("Seconds",false);addFormatToken("S",0,0,function(){return~~(this.millisecond()/100)});addFormatToken(0,["SS",2],0,function(){return~~(this.millisecond()/10)});addFormatToken(0,["SSS",3],0,"millisecond");addFormatToken(0,["SSSS",4],0,function(){return this.millisecond()*10});addFormatToken(0,["SSSSS",5],0,function(){return this.millisecond()*100});addFormatToken(0,["SSSSSS",6],0,function(){return this.millisecond()*1E3});addFormatToken(0,["SSSSSSS",7],0,function(){return this.millisecond()* 1E4});addFormatToken(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1E5});addFormatToken(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1E6});addUnitAlias("millisecond","ms");addUnitPriority("millisecond",16);addRegexToken("S",match1to3,match1);addRegexToken("SS",match1to3,match2);addRegexToken("SSS",match1to3,match3);var token;for(token="SSSS";token.length<=9;token+="S")addRegexToken(token,matchUnsigned);function parseMs(input,array){array[MILLISECOND]=toInt(("0."+input)*1E3)} for(token="S";token.length<=9;token+="S")addParseToken(token,parseMs);var getSetMillisecond=makeGetSet("Milliseconds",false);addFormatToken("z",0,0,"zoneAbbr");addFormatToken("zz",0,0,"zoneName");function getZoneAbbr(){return this._isUTC?"UTC":""}function getZoneName(){return this._isUTC?"Coordinated Universal Time":""}var proto=Moment.prototype;proto.add=add;proto.calendar=calendar$1;proto.clone=clone;proto.diff=diff;proto.endOf=endOf;proto.format=format;proto.from=from;proto.fromNow=fromNow;proto.to= to;proto.toNow=toNow;proto.get=stringGet;proto.invalidAt=invalidAt;proto.isAfter=isAfter;proto.isBefore=isBefore;proto.isBetween=isBetween;proto.isSame=isSame;proto.isSameOrAfter=isSameOrAfter;proto.isSameOrBefore=isSameOrBefore;proto.isValid=isValid$2;proto.lang=lang;proto.locale=locale;proto.localeData=localeData;proto.max=prototypeMax;proto.min=prototypeMin;proto.parsingFlags=parsingFlags;proto.set=stringSet;proto.startOf=startOf;proto.subtract=subtract;proto.toArray=toArray;proto.toObject=toObject; proto.toDate=toDate;proto.toISOString=toISOString;proto.inspect=inspect;proto.toJSON=toJSON;proto.toString=toString;proto.unix=unix;proto.valueOf=valueOf;proto.creationData=creationData;proto.year=getSetYear;proto.isLeapYear=getIsLeapYear;proto.weekYear=getSetWeekYear;proto.isoWeekYear=getSetISOWeekYear;proto.quarter=proto.quarters=getSetQuarter;proto.month=getSetMonth;proto.daysInMonth=getDaysInMonth;proto.week=proto.weeks=getSetWeek;proto.isoWeek=proto.isoWeeks=getSetISOWeek;proto.weeksInYear=getWeeksInYear; proto.isoWeeksInYear=getISOWeeksInYear;proto.date=getSetDayOfMonth;proto.day=proto.days=getSetDayOfWeek;proto.weekday=getSetLocaleDayOfWeek;proto.isoWeekday=getSetISODayOfWeek;proto.dayOfYear=getSetDayOfYear;proto.hour=proto.hours=getSetHour;proto.minute=proto.minutes=getSetMinute;proto.second=proto.seconds=getSetSecond;proto.millisecond=proto.milliseconds=getSetMillisecond;proto.utcOffset=getSetOffset;proto.utc=setOffsetToUTC;proto.local=setOffsetToLocal;proto.parseZone=setOffsetToParsedOffset;proto.hasAlignedHourOffset= hasAlignedHourOffset;proto.isDST=isDaylightSavingTime;proto.isLocal=isLocal;proto.isUtcOffset=isUtcOffset;proto.isUtc=isUtc;proto.isUTC=isUtc;proto.zoneAbbr=getZoneAbbr;proto.zoneName=getZoneName;proto.dates=deprecate("dates accessor is deprecated. Use date instead.",getSetDayOfMonth);proto.months=deprecate("months accessor is deprecated. Use month instead",getSetMonth);proto.years=deprecate("years accessor is deprecated. Use year instead",getSetYear);proto.zone=deprecate("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/", getSetZone);proto.isDSTShifted=deprecate("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",isDaylightSavingTimeShifted);function createUnix(input){return createLocal(input*1E3)}function createInZone(){return createLocal.apply(null,arguments).parseZone()}function preParsePostFormat(string){return string}var proto$1=Locale.prototype;proto$1.calendar=calendar;proto$1.longDateFormat=longDateFormat;proto$1.invalidDate=invalidDate;proto$1.ordinal= ordinal;proto$1.preparse=preParsePostFormat;proto$1.postformat=preParsePostFormat;proto$1.relativeTime=relativeTime;proto$1.pastFuture=pastFuture;proto$1.set=set;proto$1.months=localeMonths;proto$1.monthsShort=localeMonthsShort;proto$1.monthsParse=localeMonthsParse;proto$1.monthsRegex=monthsRegex;proto$1.monthsShortRegex=monthsShortRegex;proto$1.week=localeWeek;proto$1.firstDayOfYear=localeFirstDayOfYear;proto$1.firstDayOfWeek=localeFirstDayOfWeek;proto$1.weekdays=localeWeekdays;proto$1.weekdaysMin= localeWeekdaysMin;proto$1.weekdaysShort=localeWeekdaysShort;proto$1.weekdaysParse=localeWeekdaysParse;proto$1.weekdaysRegex=weekdaysRegex;proto$1.weekdaysShortRegex=weekdaysShortRegex;proto$1.weekdaysMinRegex=weekdaysMinRegex;proto$1.isPM=localeIsPM;proto$1.meridiem=localeMeridiem;function get$1(format,index,field,setter){var locale=getLocale();var utc=createUTC().set(setter,index);return locale[field](utc,format)}function listMonthsImpl(format,index,field){if(isNumber(format)){index=format;format= undefined}format=format||"";if(index!=null)return get$1(format,index,field,"month");var i;var out=[];for(i=0;i<12;i++)out[i]=get$1(format,i,field,"month");return out}function listWeekdaysImpl(localeSorted,format,index,field){if(typeof localeSorted==="boolean"){if(isNumber(format)){index=format;format=undefined}format=format||""}else{format=localeSorted;index=format;localeSorted=false;if(isNumber(format)){index=format;format=undefined}format=format||""}var locale=getLocale(),shift=localeSorted?locale._week.dow: 0;if(index!=null)return get$1(format,(index+shift)%7,field,"day");var i;var out=[];for(i=0;i<7;i++)out[i]=get$1(format,(i+shift)%7,field,"day");return out}function listMonths(format,index){return listMonthsImpl(format,index,"months")}function listMonthsShort(format,index){return listMonthsImpl(format,index,"monthsShort")}function listWeekdays(localeSorted,format,index){return listWeekdaysImpl(localeSorted,format,index,"weekdays")}function listWeekdaysShort(localeSorted,format,index){return listWeekdaysImpl(localeSorted, format,index,"weekdaysShort")}function listWeekdaysMin(localeSorted,format,index){return listWeekdaysImpl(localeSorted,format,index,"weekdaysMin")}getSetGlobalLocale("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(number){var b=number%10,output=toInt(number%100/10)===1?"th":b===1?"st":b===2?"nd":b===3?"rd":"th";return number+output}});hooks.lang=deprecate("moment.lang is deprecated. Use moment.locale instead.",getSetGlobalLocale);hooks.langData=deprecate("moment.langData is deprecated. Use moment.localeData instead.", getLocale);var mathAbs=Math.abs;function abs(){var data=this._data;this._milliseconds=mathAbs(this._milliseconds);this._days=mathAbs(this._days);this._months=mathAbs(this._months);data.milliseconds=mathAbs(data.milliseconds);data.seconds=mathAbs(data.seconds);data.minutes=mathAbs(data.minutes);data.hours=mathAbs(data.hours);data.months=mathAbs(data.months);data.years=mathAbs(data.years);return this}function addSubtract$1(duration,input,value,direction){var other=createDuration(input,value);duration._milliseconds+= direction*other._milliseconds;duration._days+=direction*other._days;duration._months+=direction*other._months;return duration._bubble()}function add$1(input,value){return addSubtract$1(this,input,value,1)}function subtract$1(input,value){return addSubtract$1(this,input,value,-1)}function absCeil(number){if(number<0)return Math.floor(number);else return Math.ceil(number)}function bubble(){var milliseconds=this._milliseconds;var days=this._days;var months=this._months;var data=this._data;var seconds, minutes,hours,years,monthsFromDays;if(!(milliseconds>=0&&days>=0&&months>=0||milliseconds<=0&&days<=0&&months<=0)){milliseconds+=absCeil(monthsToDays(months)+days)*864E5;days=0;months=0}data.milliseconds=milliseconds%1E3;seconds=absFloor(milliseconds/1E3);data.seconds=seconds%60;minutes=absFloor(seconds/60);data.minutes=minutes%60;hours=absFloor(minutes/60);data.hours=hours%24;days+=absFloor(hours/24);monthsFromDays=absFloor(daysToMonths(days));months+=monthsFromDays;days-=absCeil(monthsToDays(monthsFromDays)); years=absFloor(months/12);months%=12;data.days=days;data.months=months;data.years=years;return this}function daysToMonths(days){return days*4800/146097}function monthsToDays(months){return months*146097/4800}function as(units){if(!this.isValid())return NaN;var days;var months;var milliseconds=this._milliseconds;units=normalizeUnits(units);if(units==="month"||units==="quarter"||units==="year"){days=this._days+milliseconds/864E5;months=this._months+daysToMonths(days);switch(units){case "month":return months; case "quarter":return months/3;case "year":return months/12}}else{days=this._days+Math.round(monthsToDays(this._months));switch(units){case "week":return days/7+milliseconds/6048E5;case "day":return days+milliseconds/864E5;case "hour":return days*24+milliseconds/36E5;case "minute":return days*1440+milliseconds/6E4;case "second":return days*86400+milliseconds/1E3;case "millisecond":return Math.floor(days*864E5)+milliseconds;default:throw new Error("Unknown unit "+units);}}}function valueOf$1(){if(!this.isValid())return NaN; return this._milliseconds+this._days*864E5+this._months%12*2592E6+toInt(this._months/12)*31536E6}function makeAs(alias){return function(){return this.as(alias)}}var asMilliseconds=makeAs("ms");var asSeconds=makeAs("s");var asMinutes=makeAs("m");var asHours=makeAs("h");var asDays=makeAs("d");var asWeeks=makeAs("w");var asMonths=makeAs("M");var asQuarters=makeAs("Q");var asYears=makeAs("y");function clone$1(){return createDuration(this)}function get$2(units){units=normalizeUnits(units);return this.isValid()? this[units+"s"]():NaN}function makeGetter(name){return function(){return this.isValid()?this._data[name]:NaN}}var milliseconds=makeGetter("milliseconds");var seconds=makeGetter("seconds");var minutes=makeGetter("minutes");var hours=makeGetter("hours");var days=makeGetter("days");var months=makeGetter("months");var years=makeGetter("years");function weeks(){return absFloor(this.days()/7)}var round=Math.round;var thresholds={ss:44,s:45,m:45,h:22,d:26,M:11};function substituteTimeAgo(string,number,withoutSuffix, isFuture,locale){return locale.relativeTime(number||1,!!withoutSuffix,string,isFuture)}function relativeTime$1(posNegDuration,withoutSuffix,locale){var duration=createDuration(posNegDuration).abs();var seconds=round(duration.as("s"));var minutes=round(duration.as("m"));var hours=round(duration.as("h"));var days=round(duration.as("d"));var months=round(duration.as("M"));var years=round(duration.as("y"));var a=seconds<=thresholds.ss&&["s",seconds]||seconds0;a[4]=locale;return substituteTimeAgo.apply(null,a)}function getSetRelativeTimeRounding(roundingFunction){if(roundingFunction===undefined)return round;if(typeof roundingFunction==="function"){round=roundingFunction;return true}return false} function getSetRelativeTimeThreshold(threshold,limit){if(thresholds[threshold]===undefined)return false;if(limit===undefined)return thresholds[threshold];thresholds[threshold]=limit;if(threshold==="s")thresholds.ss=limit-1;return true}function humanize(withSuffix){if(!this.isValid())return this.localeData().invalidDate();var locale=this.localeData();var output=relativeTime$1(this,!withSuffix,locale);if(withSuffix)output=locale.pastFuture(+this,output);return locale.postformat(output)}var abs$1=Math.abs; function sign(x){return(x>0)-(x<0)||+x}function toISOString$1(){if(!this.isValid())return this.localeData().invalidDate();var seconds=abs$1(this._milliseconds)/1E3;var days=abs$1(this._days);var months=abs$1(this._months);var minutes,hours,years;minutes=absFloor(seconds/60);hours=absFloor(minutes/60);seconds%=60;minutes%=60;years=absFloor(months/12);months%=12;var Y=years;var M=months;var D=days;var h=hours;var m=minutes;var s=seconds?seconds.toFixed(3).replace(/\.?0+$/,""):"";var total=this.asSeconds(); if(!total)return"P0D";var totalSign=total<0?"-":"";var ymSign=sign(this._months)!==sign(total)?"-":"";var daysSign=sign(this._days)!==sign(total)?"-":"";var hmsSign=sign(this._milliseconds)!==sign(total)?"-":"";return totalSign+"P"+(Y?ymSign+Y+"Y":"")+(M?ymSign+M+"M":"")+(D?daysSign+D+"D":"")+(h||m||s?"T":"")+(h?hmsSign+h+"H":"")+(m?hmsSign+m+"M":"")+(s?hmsSign+s+"S":"")}var proto$2=Duration.prototype;proto$2.isValid=isValid$1;proto$2.abs=abs;proto$2.add=add$1;proto$2.subtract=subtract$1;proto$2.as= as;proto$2.asMilliseconds=asMilliseconds;proto$2.asSeconds=asSeconds;proto$2.asMinutes=asMinutes;proto$2.asHours=asHours;proto$2.asDays=asDays;proto$2.asWeeks=asWeeks;proto$2.asMonths=asMonths;proto$2.asQuarters=asQuarters;proto$2.asYears=asYears;proto$2.valueOf=valueOf$1;proto$2._bubble=bubble;proto$2.clone=clone$1;proto$2.get=get$2;proto$2.milliseconds=milliseconds;proto$2.seconds=seconds;proto$2.minutes=minutes;proto$2.hours=hours;proto$2.days=days;proto$2.weeks=weeks;proto$2.months=months;proto$2.years= years;proto$2.humanize=humanize;proto$2.toISOString=toISOString$1;proto$2.toString=toISOString$1;proto$2.toJSON=toISOString$1;proto$2.locale=locale;proto$2.localeData=localeData;proto$2.toIsoString=deprecate("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",toISOString$1);proto$2.lang=lang;addFormatToken("X",0,0,"unix");addFormatToken("x",0,0,"valueOf");addRegexToken("x",matchSigned);addRegexToken("X",matchTimestamp);addParseToken("X",function(input,array,config){config._d= new Date(parseFloat(input,10)*1E3)});addParseToken("x",function(input,array,config){config._d=new Date(toInt(input))});hooks.version="2.24.0";setHookCallback(createLocal);hooks.fn=proto;hooks.min=min;hooks.max=max;hooks.now=now;hooks.utc=createUTC;hooks.unix=createUnix;hooks.months=listMonths;hooks.isDate=isDate;hooks.locale=getSetGlobalLocale;hooks.invalid=createInvalid;hooks.duration=createDuration;hooks.isMoment=isMoment;hooks.weekdays=listWeekdays;hooks.parseZone=createInZone;hooks.localeData= getLocale;hooks.isDuration=isDuration;hooks.monthsShort=listMonthsShort;hooks.weekdaysMin=listWeekdaysMin;hooks.defineLocale=defineLocale;hooks.updateLocale=updateLocale;hooks.locales=listLocales;hooks.weekdaysShort=listWeekdaysShort;hooks.normalizeUnits=normalizeUnits;hooks.relativeTimeRounding=getSetRelativeTimeRounding;hooks.relativeTimeThreshold=getSetRelativeTimeThreshold;hooks.calendarFormat=getCalendarFormat;hooks.prototype=proto;hooks.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss", DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"};return hooks})});var FORMATS={datetime:"MMM D, YYYY, h:mm:ss a",millisecond:"h:mm:ss.SSS a",second:"h:mm:ss a",minute:"h:mm a",hour:"hA",day:"MMM D",week:"ll",month:"MMM YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"};core_adapters._date.override(typeof moment==="function"?{_id:"moment",formats:function(){return FORMATS},parse:function(value,format){if(typeof value=== "string"&&typeof format==="string")value=moment(value,format);else if(!(value instanceof moment))value=moment(value);return value.isValid()?value.valueOf():null},format:function(time,format){return moment(time).format(format)},add:function(time,amount,unit){return moment(time).add(amount,unit).valueOf()},diff:function(max,min,unit){return moment(max).diff(moment(min),unit)},startOf:function(time,unit,weekday){time=moment(time);if(unit==="isoWeek")return time.isoWeekday(weekday).valueOf();return time.startOf(unit).valueOf()}, endOf:function(time,unit){return moment(time).endOf(unit).valueOf()},_create:function(time){return moment(time)}}:{});core_defaults._set("global",{plugins:{filler:{propagate:true}}});var mappers={dataset:function(source){var index=source.fill;var chart=source.chart;var meta=chart.getDatasetMeta(index);var visible=meta&&chart.isDatasetVisible(index);var points=visible&&meta.dataset._children||[];var length=points.length||0;return!length?null:function(point,i){return i=count)return false;return target}switch(fill){case "bottom":return"start";case "top":return"end";case "zero":return"origin";case "origin":case "start":case "end":return fill;default:return false}}function computeLinearBoundary(source){var model=source.el._model||{};var scale=source.el._scale||{};var fill=source.fill;var target=null;var horizontal;if(isFinite(fill))return null; if(fill==="start")target=model.scaleBottom===undefined?scale.bottom:model.scaleBottom;else if(fill==="end")target=model.scaleTop===undefined?scale.top:model.scaleTop;else if(model.scaleZero!==undefined)target=model.scaleZero;else if(scale.getBasePixel)target=scale.getBasePixel();if(target!==undefined&&target!==null){if(target.x!==undefined&&target.y!==undefined)return target;if(helpers$1.isFinite(target)){horizontal=scale.isHorizontal();return{x:horizontal?target:null,y:horizontal?null:target}}}return null} function computeCircularBoundary(source){var scale=source.el._scale;var options=scale.options;var length=scale.chart.data.labels.length;var fill=source.fill;var target=[];var start,end,center,i,point;if(!length)return null;start=options.ticks.reverse?scale.max:scale.min;end=options.ticks.reverse?scale.min:scale.max;center=scale.getPointPositionForValue(0,start);for(i=0;i0;--i)ctx.arc(cx,cy,r,curve1[i].angle,curve1[i-1].angle,true);return}ctx.lineTo(curve1[len1-1].x,curve1[len1-1].y);for(i=len1-1;i>0;--i)helpers$1.canvas.lineTo(ctx,curve1[i],curve1[i-1],true)}function doFill(ctx,points,mapper,view,color,loop){var count=points.length;var span=view.spanGaps;var curve0= [];var curve1=[];var len0=0;var len1=0;var i,ilen,index,p0,p1,d0,d1,loopOffset;ctx.beginPath();for(i=0,ilen=count;i=0;--i){meta=metasets[i].$filler;if(!meta||!meta.visible)continue;el=meta.el;view=el._view;points=el._children||[];mapper=meta.mapper;color=view.backgroundColor|| core_defaults.global.defaultColor;if(mapper&&color&&points.length){helpers$1.canvas.clipArea(ctx,chart.chartArea);doFill(ctx,points,mapper,view,color,el._loop);helpers$1.canvas.unclipArea(ctx)}}}};var getRtlHelper$1=helpers$1.rtl.getRtlAdapter;var noop$1=helpers$1.noop;var valueOrDefault$e=helpers$1.valueOrDefault;core_defaults._set("global",{legend:{display:true,position:"top",align:"center",fullWidth:true,reverse:false,weight:1E3,onClick:function(e,legendItem){var index=legendItem.datasetIndex; var ci=this.chart;var meta=ci.getDatasetMeta(index);meta.hidden=meta.hidden===null?!ci.data.datasets[index].hidden:null;ci.update()},onHover:null,onLeave:null,labels:{boxWidth:40,padding:10,generateLabels:function(chart){var datasets=chart.data.datasets;var options=chart.options.legend||{};var usePointStyle=options.labels&&options.labels.usePointStyle;return chart._getSortedDatasetMetas().map(function(meta){var style=meta.controller.getStyle(usePointStyle?0:undefined);return{text:datasets[meta.index].label, fillStyle:style.backgroundColor,hidden:!chart.isDatasetVisible(meta.index),lineCap:style.borderCapStyle,lineDash:style.borderDash,lineDashOffset:style.borderDashOffset,lineJoin:style.borderJoinStyle,lineWidth:style.borderWidth,strokeStyle:style.borderColor,pointStyle:style.pointStyle,rotation:style.rotation,datasetIndex:meta.index}},this)}}},legendCallback:function(chart){var list=document.createElement("ul");var datasets=chart.data.datasets;var i,ilen,listItem,listItemSpan;list.setAttribute("class", chart.id+"-legend");for(i=0,ilen=datasets.length;ifontSize?fontSize:labelOpts.boxWidth}var Legend=core_element.extend({initialize:function(config){var me= this;helpers$1.extend(me,config);me.legendHitBoxes=[];me._hoveredItem=null;me.doughnutMode=false},beforeUpdate:noop$1,update:function(maxWidth,maxHeight,margins){var me=this;me.beforeUpdate();me.maxWidth=maxWidth;me.maxHeight=maxHeight;me.margins=margins;me.beforeSetDimensions();me.setDimensions();me.afterSetDimensions();me.beforeBuildLabels();me.buildLabels();me.afterBuildLabels();me.beforeFit();me.fit();me.afterFit();me.afterUpdate();return me.minSize},afterUpdate:noop$1,beforeSetDimensions:noop$1, setDimensions:function(){var me=this;if(me.isHorizontal()){me.width=me.maxWidth;me.left=0;me.right=me.width}else{me.height=me.maxHeight;me.top=0;me.bottom=me.height}me.paddingLeft=0;me.paddingTop=0;me.paddingRight=0;me.paddingBottom=0;me.minSize={width:0,height:0}},afterSetDimensions:noop$1,beforeBuildLabels:noop$1,buildLabels:function(){var me=this;var labelOpts=me.options.labels||{};var legendItems=helpers$1.callback(labelOpts.generateLabels,[me.chart],me)||[];if(labelOpts.filter)legendItems=legendItems.filter(function(item){return labelOpts.filter(item, me.chart.data)});if(me.options.reverse)legendItems.reverse();me.legendItems=legendItems},afterBuildLabels:noop$1,beforeFit:noop$1,fit:function(){var me=this;var opts=me.options;var labelOpts=opts.labels;var display=opts.display;var ctx=me.ctx;var labelFont=helpers$1.options._parseFont(labelOpts);var fontSize=labelFont.size;var hitboxes=me.legendHitBoxes=[];var minSize=me.minSize;var isHorizontal=me.isHorizontal();if(isHorizontal){minSize.width=me.maxWidth;minSize.height=display?10:0}else{minSize.width= display?10:0;minSize.height=me.maxHeight}if(!display){me.width=minSize.width=me.height=minSize.height=0;return}ctx.font=labelFont.string;if(isHorizontal){var lineWidths=me.lineWidths=[0];var totalHeight=0;ctx.textAlign="left";ctx.textBaseline="middle";helpers$1.each(me.legendItems,function(legendItem,i){var boxWidth=getBoxWidth(labelOpts,fontSize);var width=boxWidth+fontSize/2+ctx.measureText(legendItem.text).width;if(i===0||lineWidths[lineWidths.length-1]+width+2*labelOpts.padding>minSize.width){totalHeight+= fontSize+labelOpts.padding;lineWidths[lineWidths.length-(i>0?0:1)]=0}hitboxes[i]={left:0,top:0,width:width,height:fontSize};lineWidths[lineWidths.length-1]+=width+labelOpts.padding});minSize.height+=totalHeight}else{var vPadding=labelOpts.padding;var columnWidths=me.columnWidths=[];var columnHeights=me.columnHeights=[];var totalWidth=labelOpts.padding;var currentColWidth=0;var currentColHeight=0;helpers$1.each(me.legendItems,function(legendItem,i){var boxWidth=getBoxWidth(labelOpts,fontSize);var itemWidth= boxWidth+fontSize/2+ctx.measureText(legendItem.text).width;if(i>0&¤tColHeight+fontSize+2*vPadding>minSize.height){totalWidth+=currentColWidth+labelOpts.padding;columnWidths.push(currentColWidth);columnHeights.push(currentColHeight);currentColWidth=0;currentColHeight=0}currentColWidth=Math.max(currentColWidth,itemWidth);currentColHeight+=fontSize+vPadding;hitboxes[i]={left:0,top:0,width:itemWidth,height:fontSize}});totalWidth+=currentColWidth;columnWidths.push(currentColWidth);columnHeights.push(currentColHeight); minSize.width+=totalWidth}me.width=minSize.width;me.height=minSize.height},afterFit:noop$1,isHorizontal:function(){return this.options.position==="top"||this.options.position==="bottom"},draw:function(){var me=this;var opts=me.options;var labelOpts=opts.labels;var globalDefaults=core_defaults.global;var defaultColor=globalDefaults.defaultColor;var lineDefault=globalDefaults.elements.line;var legendHeight=me.height;var columnHeights=me.columnHeights;var legendWidth=me.width;var lineWidths=me.lineWidths; if(!opts.display)return;var rtlHelper=getRtlHelper$1(opts.rtl,me.left,me.minSize.width);var ctx=me.ctx;var fontColor=valueOrDefault$e(labelOpts.fontColor,globalDefaults.defaultFontColor);var labelFont=helpers$1.options._parseFont(labelOpts);var fontSize=labelFont.size;var cursor;ctx.textAlign=rtlHelper.textAlign("left");ctx.textBaseline="middle";ctx.lineWidth=.5;ctx.strokeStyle=fontColor;ctx.fillStyle=fontColor;ctx.font=labelFont.string;var boxWidth=getBoxWidth(labelOpts,fontSize);var hitboxes=me.legendHitBoxes; var drawLegendBox=function(x,y,legendItem){if(isNaN(boxWidth)||boxWidth<=0)return;ctx.save();var lineWidth=valueOrDefault$e(legendItem.lineWidth,lineDefault.borderWidth);ctx.fillStyle=valueOrDefault$e(legendItem.fillStyle,defaultColor);ctx.lineCap=valueOrDefault$e(legendItem.lineCap,lineDefault.borderCapStyle);ctx.lineDashOffset=valueOrDefault$e(legendItem.lineDashOffset,lineDefault.borderDashOffset);ctx.lineJoin=valueOrDefault$e(legendItem.lineJoin,lineDefault.borderJoinStyle);ctx.lineWidth=lineWidth; ctx.strokeStyle=valueOrDefault$e(legendItem.strokeStyle,defaultColor);if(ctx.setLineDash)ctx.setLineDash(valueOrDefault$e(legendItem.lineDash,lineDefault.borderDash));if(labelOpts&&labelOpts.usePointStyle){var radius=boxWidth*Math.SQRT2/2;var centerX=rtlHelper.xPlus(x,boxWidth/2);var centerY=y+fontSize/2;helpers$1.canvas.drawPoint(ctx,legendItem.pointStyle,radius,centerX,centerY,legendItem.rotation)}else{ctx.fillRect(rtlHelper.leftForLtr(x,boxWidth),y,boxWidth,fontSize);if(lineWidth!==0)ctx.strokeRect(rtlHelper.leftForLtr(x, boxWidth),y,boxWidth,fontSize)}ctx.restore()};var fillText=function(x,y,legendItem,textWidth){var halfFontSize=fontSize/2;var xLeft=rtlHelper.xPlus(x,boxWidth+halfFontSize);var yMiddle=y+halfFontSize;ctx.fillText(legendItem.text,xLeft,yMiddle);if(legendItem.hidden){ctx.beginPath();ctx.lineWidth=2;ctx.moveTo(xLeft,yMiddle);ctx.lineTo(rtlHelper.xPlus(xLeft,textWidth),yMiddle);ctx.stroke()}};var alignmentOffset=function(dimension,blockSize){switch(opts.align){case "start":return labelOpts.padding;case "end":return dimension- blockSize;default:return(dimension-blockSize+labelOpts.padding)/2}};var isHorizontal=me.isHorizontal();if(isHorizontal)cursor={x:me.left+alignmentOffset(legendWidth,lineWidths[0]),y:me.top+labelOpts.padding,line:0};else cursor={x:me.left+labelOpts.padding,y:me.top+alignmentOffset(legendHeight,columnHeights[0]),line:0};helpers$1.rtl.overrideTextDirection(me.ctx,opts.textDirection);var itemHeight=fontSize+labelOpts.padding;helpers$1.each(me.legendItems,function(legendItem,i){var textWidth=ctx.measureText(legendItem.text).width; var width=boxWidth+fontSize/2+textWidth;var x=cursor.x;var y=cursor.y;rtlHelper.setWidth(me.minSize.width);if(isHorizontal){if(i>0&&x+width+labelOpts.padding>me.left+me.minSize.width){y=cursor.y+=itemHeight;cursor.line++;x=cursor.x=me.left+alignmentOffset(legendWidth,lineWidths[cursor.line])}}else if(i>0&&y+itemHeight>me.top+me.minSize.height){x=cursor.x=x+me.columnWidths[cursor.line]+labelOpts.padding;cursor.line++;y=cursor.y=me.top+alignmentOffset(legendHeight,columnHeights[cursor.line])}var realX= rtlHelper.x(x);drawLegendBox(realX,y,legendItem);hitboxes[i].left=rtlHelper.leftForLtr(realX,hitboxes[i].width);hitboxes[i].top=y;fillText(realX,y,legendItem,textWidth);if(isHorizontal)cursor.x+=width+labelOpts.padding;else cursor.y+=itemHeight});helpers$1.rtl.restoreTextDirection(me.ctx,opts.textDirection)},_getLegendItemAt:function(x,y){var me=this;var i,hitBox,lh;if(x>=me.left&&x<=me.right&&y>=me.top&&y<=me.bottom){lh=me.legendHitBoxes;for(i=0;i=hitBox.left&&x<= hitBox.left+hitBox.width&&y>=hitBox.top&&y<=hitBox.top+hitBox.height)return me.legendItems[i]}}return null},handleEvent:function(e){var me=this;var opts=me.options;var type=e.type==="mouseup"?"click":e.type;var hoveredItem;if(type==="mousemove"){if(!opts.onHover&&!opts.onLeave)return}else if(type==="click"){if(!opts.onClick)return}else return;hoveredItem=me._getLegendItemAt(e.x,e.y);if(type==="click"){if(hoveredItem&&opts.onClick)opts.onClick.call(me,e.native,hoveredItem)}else{if(opts.onLeave&&hoveredItem!== me._hoveredItem){if(me._hoveredItem)opts.onLeave.call(me,e.native,me._hoveredItem);me._hoveredItem=hoveredItem}if(opts.onHover&&hoveredItem)opts.onHover.call(me,e.native,hoveredItem)}}});function createNewLegendAndAttach(chart,legendOpts){var legend=new Legend({ctx:chart.ctx,options:legendOpts,chart:chart});core_layouts.configure(chart,legend,legendOpts);core_layouts.addBox(chart,legend);chart.legend=legend}var plugin_legend={id:"legend",_element:Legend,beforeInit:function(chart){var legendOpts=chart.options.legend; if(legendOpts)createNewLegendAndAttach(chart,legendOpts)},beforeUpdate:function(chart){var legendOpts=chart.options.legend;var legend=chart.legend;if(legendOpts){helpers$1.mergeIf(legendOpts,core_defaults.global.legend);if(legend){core_layouts.configure(chart,legend,legendOpts);legend.options=legendOpts}else createNewLegendAndAttach(chart,legendOpts)}else if(legend){core_layouts.removeBox(chart,legend);delete chart.legend}},afterEvent:function(chart,e){var legend=chart.legend;if(legend)legend.handleEvent(e)}}; var noop$2=helpers$1.noop;core_defaults._set("global",{title:{display:false,fontStyle:"bold",fullWidth:true,padding:10,position:"top",text:"",weight:2E3}});var Title=core_element.extend({initialize:function(config){var me=this;helpers$1.extend(me,config);me.legendHitBoxes=[]},beforeUpdate:noop$2,update:function(maxWidth,maxHeight,margins){var me=this;me.beforeUpdate();me.maxWidth=maxWidth;me.maxHeight=maxHeight;me.margins=margins;me.beforeSetDimensions();me.setDimensions();me.afterSetDimensions(); me.beforeBuildLabels();me.buildLabels();me.afterBuildLabels();me.beforeFit();me.fit();me.afterFit();me.afterUpdate();return me.minSize},afterUpdate:noop$2,beforeSetDimensions:noop$2,setDimensions:function(){var me=this;if(me.isHorizontal()){me.width=me.maxWidth;me.left=0;me.right=me.width}else{me.height=me.maxHeight;me.top=0;me.bottom=me.height}me.paddingLeft=0;me.paddingTop=0;me.paddingRight=0;me.paddingBottom=0;me.minSize={width:0,height:0}},afterSetDimensions:noop$2,beforeBuildLabels:noop$2,buildLabels:noop$2, afterBuildLabels:noop$2,beforeFit:noop$2,fit:function(){var me=this;var opts=me.options;var minSize=me.minSize={};var isHorizontal=me.isHorizontal();var lineCount,textSize;if(!opts.display){me.width=minSize.width=me.height=minSize.height=0;return}lineCount=helpers$1.isArray(opts.text)?opts.text.length:1;textSize=lineCount*helpers$1.options._parseFont(opts).lineHeight+opts.padding*2;me.width=minSize.width=isHorizontal?me.maxWidth:textSize;me.height=minSize.height=isHorizontal?textSize:me.maxHeight}, afterFit:noop$2,isHorizontal:function(){var pos=this.options.position;return pos==="top"||pos==="bottom"},draw:function(){var me=this;var ctx=me.ctx;var opts=me.options;if(!opts.display)return;var fontOpts=helpers$1.options._parseFont(opts);var lineHeight=fontOpts.lineHeight;var offset=lineHeight/2+opts.padding;var rotation=0;var top=me.top;var left=me.left;var bottom=me.bottom;var right=me.right;var maxWidth,titleX,titleY;ctx.fillStyle=helpers$1.valueOrDefault(opts.fontColor,core_defaults.global.defaultFontColor); ctx.font=fontOpts.string;if(me.isHorizontal()){titleX=left+(right-left)/2;titleY=top+offset;maxWidth=right-left}else{titleX=opts.position==="left"?left+offset:right-offset;titleY=top+(bottom-top)/2;maxWidth=bottom-top;rotation=Math.PI*(opts.position==="left"?-.5:.5)}ctx.save();ctx.translate(titleX,titleY);ctx.rotate(rotation);ctx.textAlign="center";ctx.textBaseline="middle";var text=opts.text;if(helpers$1.isArray(text)){var y=0;for(var i=0;i\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0432\u0435\u0440\u0441\u0438\u044f":"\u041d\u0435\u0430\u043a\u0442\u0443\u0430\u043b\u0435\u043d",cellCls:"vertical-align-top width_150px"};items.push(status)}var deleteHandler=function(fileInfo){performRPCCall(RPC.Contract.removeFile,[fileInfo],{wait_text:"\u0424\u0430\u0439\u043b \u0443\u0434\u0430\u043b\u044f\u0435\u0442\u0441\u044f. \u041f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435..."}, function(result){if(result.success)component.parentComponent.fireEvent("reload");else echoResponseMessage(result)})};if(!!component.enableDelete&&!file.customerSigned&&!file.supplierSigned)if(!component.enableDeleteLastVersion&&file.is_last_version)file.deleteHandler=false;else file.deleteHandler=deleteHandler;else file.deleteHandler=false;var panel=new Ext.Panel;items.push(getFileInfoPanel(file,{deleteHandler:!!file.deleteHandler&&!!component.enableDelete?deleteHandler:false},false));if(!file.text&& component.hide_date_added_col!==true)items.push({html:file.date_added?"\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d: "+Ext.util.Format.localDateRenderer(parseDate(file.date_added)):"",cellCls:"width_220px"})};Ext.each(this.extraFiles,appendFile);var filters=["type_id","supplier_id","customer_id","is_last_version","date_supplier_eds"];var filter=function(file){var allowed=false;for(i=0;i28)day=Math.min(day,this.getFirstDateOfMonth().add("mo", value).getLastDateOfMonth().getDate());d.setDate(day);d.setMonth(this.getMonth()+value);break;case Date.YEAR:d.setFullYear(this.getFullYear()+value);break}return d}});var Debug={level:3,LEVEL_EMERGENCY:0,LEVEL_ALERT:1,LEVEL_CRITICAL:2,LEVEL_ERROR:3,LEVEL_WARNING:4,LEVEL_NOTICE:5,LEVEL_INFO:6,LEVEL_DEBUG:7,LEVEL_DUMP:9,log:function(message,level){this._log(message,level,"log")},dir:function(object,level){this._log(object,level,"dir")},_log:function(object,level,fn){if(undefined===level)level=this.LEVEL_DUMP;if(this.level3)s=s.substr(0,s.length-2);Ext.log(s+"\n}")}},_timers:{},time:function(name){name=name||"def";Ext._timers[name]=(new Date).getTime()},timeEnd:function(name,printResults){var t=(new Date).getTime(); name=name||"def";var v=String.format("{0} ms",t-Ext._timers[name]);Ext._timers[name]=(new Date).getTime();if(printResults!==false)Ext.log("Timer "+(name=="def"?v:name+": "+v));return v}});window.onkeypress=function(event){if(Main.stage=="development"&&!!event.ctrlKey&&event.code=="KeyR")Main.app.run()}})(); Ext.debug.ScriptsPanel=Ext.extend(Ext.Panel,{id:"x-debug-scripts",region:"east",minWidth:200,split:true,width:350,border:false,layout:"anchor",style:"border-width:0 0 0 1px;",initComponent:function(){this.scriptField=new Ext.form.TextArea({anchor:"100% -26",style:"border-width:0;"});this.trapBox=new Ext.form.Checkbox({id:"console-trap",boxLabel:"Trap Errors",checked:true});this.toolbar=new Ext.Toolbar([{text:"Run",scope:this,handler:this.evalScript},{text:"Clear",scope:this,handler:this.clear},"->", this.trapBox," "," "]);this.items=[this.toolbar,this.scriptField];Ext.debug.ScriptsPanel.superclass.initComponent.call(this)},evalScript:function(){var s=this.scriptField.getValue();if(this.trapBox.getValue())try{var rt=eval(s);Ext.dump(rt===undefined?"(no return)":rt)}catch(e){Ext.log(e.message||e.descript)}else{var rt=eval(s);Ext.dump(rt===undefined?"(no return)":rt)}},clear:function(){this.scriptField.setValue("");this.scriptField.focus()}}); Ext.debug.LogPanel=Ext.extend(Ext.Panel,{autoScroll:true,region:"center",border:false,style:"border-width:0 1px 0 0",log:function(){var markup=['
',Ext.util.Format.htmlEncode(Array.prototype.join.call(arguments,", ")).replace(/\n/g,"
").replace(/\s/g," "),"
"].join(""),bd=this.body.dom;this.body.insertHtml("beforeend",markup);bd.scrollTop=bd.scrollHeight},clear:function(){this.body.update("");this.body.dom.scrollTop=0}}); Ext.debug.DomTree=Ext.extend(Ext.tree.TreePanel,{enableDD:false,lines:false,rootVisible:false,animate:false,hlColor:"ffff9c",autoScroll:true,region:"center",border:false,initComponent:function(){Ext.debug.DomTree.superclass.initComponent.call(this);var styles=false,hnode;var nonSpace=/^\s*$/;var html=Ext.util.Format.htmlEncode;var ellipsis=Ext.util.Format.ellipsis;var styleRe=/\s?([a-z\-]*):([^;]*)(?:[;\s\n\r]*)/gi;function findNode(n){if(!n||n.nodeType!=1||n==document.body||n==document)return false; var pn=[n],p=n;while((p=p.parentNode)&&p.nodeType==1&&p.tagName.toUpperCase()!="HTML")pn.unshift(p);var cn=hnode;for(var i=0,len=pn.length;i"+ellipsis(html(String(c.nodeValue)),35)+"",cls:"x-tree-noicon"}))}cb()};this.root=this.setRootNode(new Ext.tree.TreeNode("Ext"));hnode=this.root.appendChild(new Ext.debug.HtmlNode(document.getElementsByTagName("html")[0]))}}); Ext.debug.ComponentNodeUI=Ext.extend(Ext.tree.TreeNodeUI,{onOver:function(e){Ext.debug.ComponentNodeUI.superclass.onOver.call(this);var cmp=this.node.attributes.component;if(cmp.el&&cmp.el.mask&&cmp.id!="x-debug-browser")try{cmp.el.mask()}catch(e){}},onOut:function(e){Ext.debug.ComponentNodeUI.superclass.onOut.call(this);var cmp=this.node.attributes.component;if(cmp.el&&cmp.el.unmask&&cmp.id!="x-debug-browser")try{cmp.el.unmask()}catch(e){}}}); Ext.debug.ComponentInspector=Ext.extend(Ext.tree.TreePanel,{enableDD:false,lines:false,rootVisible:false,animate:false,hlColor:"ffff9c",autoScroll:true,region:"center",border:false,initComponent:function(){this.loader=new Ext.tree.TreeLoader;this.bbar=new Ext.Toolbar([{text:"Refresh",handler:this.refresh,scope:this}]);Ext.debug.ComponentInspector.superclass.initComponent.call(this);this.root=this.setRootNode(new Ext.tree.TreeNode({text:"Ext Components",component:Ext.ComponentMgr.all,leaf:false})); this.parseRootNode();this.on("click",this.onClick,this)},createNode:function(n,c){var leaf=c.items&&c.items.length>0;return n.appendChild(new Ext.tree.TreeNode({text:c.id+(c.getXType()?" [ "+c.getXType()+" ]":""),component:c,uiProvider:Ext.debug.ComponentNodeUI,leaf:!leaf}))},parseChildItems:function(n){var cn=n.attributes.component.items;if(cn)for(var i=0;i",this.watchBox]);Ext.debug.ComponentInfoPanel.superclass.initComponent.call(this)},onAdd:function(i,o,key){var markup=['
',"Added: "+o.id,"
"].join("");this.insertMarkup(markup)},onRemove:function(o,key){var markup=['
', "Removed: "+o.id,"
"].join("");this.insertMarkup(markup)},message:function(msg){var markup=['
',msg,"
"].join("");this.insertMarkup(markup)},insertMarkup:function(markup){this.body.insertHtml("beforeend",markup);this.body.scrollTo("top",1E5)},clear:function(){this.body.update("");this.body.dom.scrollTop=0}}); Ext.debug.ColumnNodeUI=Ext.extend(Ext.tree.TreeNodeUI,{focus:Ext.emptyFn,renderElements:function(n,a,targetNode,bulkRender){this.indentMarkup=n.parentNode?n.parentNode.ui.getChildIndent():"";var t=n.getOwnerTree();var cols=t.columns;var bw=t.borderWidth;var c=cols[0];var buf=['
  • ','"];for(var i=1,len=cols.length;i< len;i++){c=cols[i];buf.push('
    ','
    ',c.renderer?c.renderer(a[c.dataIndex],n,a):a[c.dataIndex],"
    ","
    ")}buf.push('
    ','',"
  • ");if(bulkRender!==true&&n.nextSibling&&n.nextSibling.ui.getEl())this.wrap=Ext.DomHelper.insertHtml("beforeBegin",n.nextSibling.ui.getEl(),buf.join(""));else this.wrap=Ext.DomHelper.insertHtml("beforeEnd", targetNode,buf.join(""));this.elNode=this.wrap.childNodes[0];this.ctNode=this.wrap.childNodes[1];var cs=this.elNode.firstChild.childNodes;this.indentNode=cs[0];this.ecNode=cs[1];this.iconNode=cs[2];this.anchor=cs[3];this.textNode=cs[3].firstChild}}); Ext.debug.ObjectInspector=Ext.extend(Ext.tree.TreePanel,{id:"x-debug-objinspector",enableDD:false,lines:false,rootVisible:false,animate:false,hlColor:"ffff9c",autoScroll:true,region:"center",border:false,lines:false,borderWidth:Ext.isBorderBox?0:2,cls:"x-column-tree",initComponent:function(){this.showFunc=false;this.toggleFunc=function(){this.showFunc=!this.showFunc;this.refreshNodes(this.currentObject)};this.bbar=new Ext.Toolbar([{text:"Show Functions",enableToggle:true,pressed:false,handler:this.toggleFunc, scope:this}]);Ext.apply(this,{title:" ",loader:new Ext.tree.TreeLoader,columns:[{header:"Property",width:300,dataIndex:"name"},{header:"Value",width:900,dataIndex:"value"}]});Ext.debug.ObjectInspector.superclass.initComponent.call(this);this.root=this.setRootNode(new Ext.tree.TreeNode({text:"Dummy Node",leaf:false}));if(this.currentObject)this.parseNodes()},refreshNodes:function(newObj){this.currentObject=newObj;var node=this.root;while(node.firstChild)node.removeChild(node.firstChild);this.parseNodes()}, parseNodes:function(){for(var o in this.currentObject){if(!this.showFunc)if(Ext.isFunction(this.currentObject[o]))continue;this.createNode(o)}},createNode:function(o){return this.root.appendChild(new Ext.tree.TreeNode({name:o,value:this.currentObject[o],uiProvider:Ext.debug.ColumnNodeUI,iconCls:"x-debug-node",leaf:true}))},onRender:function(){Ext.debug.ObjectInspector.superclass.onRender.apply(this,arguments);this.headers=this.header.createChild({cls:"x-tree-headers"});var cols=this.columns,c;var totalWidth= 0;for(var i=0,len=cols.length;i"+html(v)+"""}var style=n.style?n.style.cssText:"";if(style)s+=" style=""+html(style.toLowerCase())+""";if(leaf&&n.childNodes.length>0)s+=">"+ellipsis(html(String(n.innerHTML)),35)+"</"+tag+">";else if(leaf)s+=" />";else s+=">";return s}var HtmlNode=function(n){var leaf=!hasChild(n);this.htmlNode=n;this.tagName=n.tagName.toLowerCase();var attr={text:renderNode(n,leaf),leaf:leaf,cls:"x-tree-noicon"};HtmlNode.superclass.constructor.call(this, attr);this.attributes.htmlNode=n;if(!leaf){this.on("expand",this.onExpand,this);this.on("collapse",this.onCollapse,this)}};Ext.extend(HtmlNode,Ext.tree.AsyncTreeNode,{cls:"x-tree-noicon",preventHScroll:true,refresh:function(highlight){var leaf=!hasChild(this.htmlNode);this.setText(renderNode(this.htmlNode,leaf));if(highlight)Ext.fly(this.ui.textNode).highlight()},onExpand:function(){if(!this.closeNode&&this.parentNode)this.closeNode=this.parentNode.insertBefore(new Ext.tree.TreeNode({text:"</"+ this.tagName+">",cls:"x-tree-noicon"}),this.nextSibling);else if(this.closeNode)this.closeNode.ui.show()},onCollapse:function(){if(this.closeNode)this.closeNode.ui.hide()},render:function(bulkRender){HtmlNode.superclass.render.call(this,bulkRender)},highlightNode:function(){},highlight:function(){},frame:function(){this.htmlNode.style.border="1px solid #0000ff"},unframe:function(){this.htmlNode.style.border=""}});return HtmlNode}();Ext.ns("Ext.ux.form"); Ext.ux.form.FileUploadField=Ext.extend(Ext.form.TextField,{buttonText:"Browse...",buttonOnly:false,buttonOffset:3,readOnly:true,multiple:false,autoSize:Ext.emptyFn,initComponent:function(){Ext.ux.form.FileUploadField.superclass.initComponent.call(this);this.addEvents("fileselected","multipleChanged")},onRender:function(ct,position){Ext.ux.form.FileUploadField.superclass.onRender.call(this,ct,position);this.wrap=this.el.wrap({cls:"x-form-field-wrap x-form-file-wrap"});this.el.addClass("x-form-file-text");this.el.dom.removeAttribute("name"); this.createFileInput(this.multiple);var btnCfg=Ext.applyIf(this.buttonCfg||{},{text:this.buttonText});this.button=new Ext.Button(Ext.apply(btnCfg,{renderTo:this.wrap,cls:"x-form-file-btn"+(btnCfg.iconCls?" x-btn-icon":""),handler:function(){if(!Ext.isIE){this.getEl().dom.click();return false}},scope:this}));if(this.buttonOnly){this.el.hide();this.wrap.setWidth(this.button.getEl().getWidth())}this.bindListeners();this.resizeEl=this.positionEl=this.wrap},bindListeners:function(){this.fileInput.on({scope:this, mouseenter:function(){this.button.addClass(["x-btn-over","x-btn-focus"])},mouseleave:function(){this.button.removeClass(["x-btn-over","x-btn-focus","x-btn-click"])},mousedown:function(){this.button.addClass("x-btn-click")},mouseup:function(){this.button.removeClass(["x-btn-over","x-btn-focus","x-btn-click"])},change:function(){var v=this.fileInput.dom.value;this.setValue(v);this.fireEvent("fileselected",this,v)}})},createFileInput:function(multiple){multiple=multiple||false;this.fileInput=this.wrap.createChild({id:this.getFileInputId(), name:this.name||this.getId(),cls:"x-form-file",tag:"input",type:"file",multiple:multiple?"true":"false",size:1})},reset:function(){this.fileInput.remove();this.createFileInput(this.multiple);this.bindListeners();Ext.ux.form.FileUploadField.superclass.reset.call(this)},getFileInputId:function(){return this.id+"-file"},onResize:function(w,h){Ext.ux.form.FileUploadField.superclass.onResize.call(this,w,h);this.wrap.setWidth(w);if(!this.buttonOnly){var w=this.wrap.getWidth()-this.button.getEl().getWidth()- this.buttonOffset;this.el.setWidth(w)}},onDestroy:function(){Ext.ux.form.FileUploadField.superclass.onDestroy.call(this);Ext.destroy(this.fileInput,this.button,this.wrap)},onDisable:function(){Ext.ux.form.FileUploadField.superclass.onDisable.call(this);this.doDisable(true)},onEnable:function(){Ext.ux.form.FileUploadField.superclass.onEnable.call(this);this.doDisable(false)},doDisable:function(disabled){this.fileInput.dom.disabled=disabled;this.button.setDisabled(disabled)},preFocus:Ext.emptyFn,alignErrorIcon:function(){this.errorIcon.alignTo(this.wrap, "tl-tr",[2,0])}});Ext.reg("fileuploadfield",Ext.ux.form.FileUploadField);Ext.form.FileUploadField=Ext.ux.form.FileUploadField;(function(window){if(window.HistoryManager)return;var html5_history=!!(window.history&&window.history.pushState);var hashchange_supported="undefined"!=typeof window.onhashchange;if(Ext.isOpera||Ext.isWebKit)html5_history=false;if(window.navigator.appName=="Microsoft Internet Explorer")if(!document.documentMode||document.documentMode<8)hashchange_supported=false;else if(document.documentMode==10)html5_history=false;if(!html5_history&&!hashchange_supported)return;window.HistoryManager=new (Ext.extend(Ext.util.Observable, {constructor:function(){this.addEvents("change");if(html5_history)window.onpopstate=function(event){window.HistoryManager.onPopState(event)};else if(hashchange_supported)window.onhashchange=function(event){window.HistoryManager.onPopState(event)};else{this.currentHash=window.document.location.hash;setTimeout(this._checker,250)}},_checker:function(){var hm=window.HistoryManager;if(hm&&window.document.location.hash!=hm.currentHash){hm.currentHash=window.document.location.hash;hm.onPopState()}setTimeout(hm._checker, 50)},onPopState:function(event){this.fireEvent("change",this.getToken())},addEvent:function(event,handler){this.on(event,handler)},add:function(token){if(html5_history){var url=window.document.location.href;var idx=url.indexOf("#");if(idx<0)url+="#"+token;else url=url.substr(0,idx+1)+token;window.history.pushState(null,null,url)}else if(hashchange_supported){window.document.location.hash=token;return}else{window.document.location.hash=token;this.currentHash="#"+token}this.fireEvent("change",token)}, getToken:function(){var hash=window.document.location.hash;if(!hash||"#"==hash)return"/";return hash.substr(1)}}))})(window);function NumberFormat(num,inputDecimal){this.VERSION="Number Format v1.5.4";this.COMMA=",";this.PERIOD=".";this.DASH="-";this.LEFT_PAREN="(";this.RIGHT_PAREN=")";this.LEFT_OUTSIDE=0;this.LEFT_INSIDE=1;this.RIGHT_INSIDE=2;this.RIGHT_OUTSIDE=3;this.LEFT_DASH=0;this.RIGHT_DASH=1;this.PARENTHESIS=2;this.NO_ROUNDING=-1;this.num=undefined;this.numOriginal=undefined;this.hasSeparators=false;this.separatorValue=undefined;this.inputDecimalValue=undefined;this.decimalValue=undefined;this.negativeFormat=undefined; this.negativeRed=undefined;this.hasCurrency=undefined;this.currencyPosition=undefined;this.currencyValue=undefined;this.places=undefined;this.roundToPlaces=undefined;this.truncate=undefined;this.setNumber=setNumberNF;this.toUnformatted=toUnformattedNF;this.setInputDecimal=setInputDecimalNF;this.setSeparators=setSeparatorsNF;this.setCommas=setCommasNF;this.setNegativeFormat=setNegativeFormatNF;this.setNegativeRed=setNegativeRedNF;this.setCurrency=setCurrencyNF;this.setCurrencyPrefix=setCurrencyPrefixNF; this.setCurrencyValue=setCurrencyValueNF;this.setCurrencyPosition=setCurrencyPositionNF;this.setPlaces=setPlacesNF;this.toFormatted=toFormattedNF;this.toPercentage=toPercentageNF;this.getOriginal=getOriginalNF;this.moveDecimalRight=moveDecimalRightNF;this.moveDecimalLeft=moveDecimalLeftNF;this.getRounded=getRoundedNF;this.preserveZeros=preserveZerosNF;this.justNumber=justNumberNF;this.expandExponential=expandExponentialNF;this.getZeros=getZerosNF;this.moveDecimalAsString=moveDecimalAsStringNF;this.moveDecimal= moveDecimalNF;this.addSeparators=addSeparatorsNF;if(inputDecimal==null)this.setNumber(num,this.PERIOD);else this.setNumber(num,inputDecimal);this.setCommas(true);this.setNegativeFormat(this.LEFT_DASH);this.setNegativeRed(false);this.setCurrency(false);this.setCurrencyPrefix("$");this.setPlaces(2)}function setInputDecimalNF(val){this.inputDecimalValue=val} function setNumberNF(num,inputDecimal){if(inputDecimal!=null)this.setInputDecimal(inputDecimal);this.numOriginal=num;this.num=this.justNumber(num)}function toUnformattedNF(){return this.num}function getOriginalNF(){return this.numOriginal}function setNegativeFormatNF(format){this.negativeFormat=format}function setNegativeRedNF(isRed){this.negativeRed=isRed} function setSeparatorsNF(isC,separator,decimal){this.hasSeparators=isC;if(separator==null)separator=this.COMMA;if(decimal==null)decimal=this.PERIOD;if(separator==decimal)this.decimalValue=decimal==this.PERIOD?this.COMMA:this.PERIOD;else this.decimalValue=decimal;this.separatorValue=separator}function setCommasNF(isC){this.setSeparators(isC,this.COMMA,this.PERIOD)}function setCurrencyNF(isC){this.hasCurrency=isC}function setCurrencyValueNF(val){this.currencyValue=val} function setCurrencyPrefixNF(cp){this.setCurrencyValue(cp);this.setCurrencyPosition(this.LEFT_OUTSIDE)}function setCurrencyPositionNF(cp){this.currencyPosition=cp}function setPlacesNF(p,tr){this.roundToPlaces=!(p==this.NO_ROUNDING);this.truncate=tr!=null&&tr;this.places=p<0?0:p} function addSeparatorsNF(nStr,inD,outD,sep){nStr+="";var dpos=nStr.indexOf(inD);var nStrEnd="";if(dpos!=-1){nStrEnd=outD+nStr.substring(dpos+1,nStr.length);nStr=nStr.substring(0,dpos)}var rgx=/(\d+)(\d{3})/;while(rgx.test(nStr))nStr=nStr.replace(rgx,"$1"+sep+"$2");return nStr+nStrEnd} function toFormattedNF(){var pos;var nNum=this.num;var nStr;var splitString=new Array(2);if(this.roundToPlaces){nNum=this.getRounded(nNum);nStr=this.preserveZeros(Math.abs(nNum))}else nStr=this.expandExponential(Math.abs(nNum));if(this.hasSeparators)nStr=this.addSeparators(nStr,this.PERIOD,this.decimalValue,this.separatorValue);else nStr=nStr.replace(new RegExp("\\"+this.PERIOD),this.decimalValue);var c0="";var n0="";var c1="";var n1="";var n2="";var c2="";var n3="";var c3="";var negSignL=this.negativeFormat== this.PARENTHESIS?this.LEFT_PAREN:this.DASH;var negSignR=this.negativeFormat==this.PARENTHESIS?this.RIGHT_PAREN:this.DASH;if(this.currencyPosition==this.LEFT_OUTSIDE){if(nNum<0){if(this.negativeFormat==this.LEFT_DASH||this.negativeFormat==this.PARENTHESIS)n1=negSignL;if(this.negativeFormat==this.RIGHT_DASH||this.negativeFormat==this.PARENTHESIS)n2=negSignR}if(this.hasCurrency)c0=this.currencyValue}else if(this.currencyPosition==this.LEFT_INSIDE){if(nNum<0){if(this.negativeFormat==this.LEFT_DASH||this.negativeFormat== this.PARENTHESIS)n0=negSignL;if(this.negativeFormat==this.RIGHT_DASH||this.negativeFormat==this.PARENTHESIS)n3=negSignR}if(this.hasCurrency)c1=this.currencyValue}else if(this.currencyPosition==this.RIGHT_INSIDE){if(nNum<0){if(this.negativeFormat==this.LEFT_DASH||this.negativeFormat==this.PARENTHESIS)n0=negSignL;if(this.negativeFormat==this.RIGHT_DASH||this.negativeFormat==this.PARENTHESIS)n3=negSignR}if(this.hasCurrency)c2=this.currencyValue}else if(this.currencyPosition==this.RIGHT_OUTSIDE){if(nNum< 0){if(this.negativeFormat==this.LEFT_DASH||this.negativeFormat==this.PARENTHESIS)n1=negSignL;if(this.negativeFormat==this.RIGHT_DASH||this.negativeFormat==this.PARENTHESIS)n2=negSignR}if(this.hasCurrency)c3=this.currencyValue}nStr=c0+n0+c1+n1+nStr+n2+c2+n3+c3;if(this.negativeRed&&nNum<0)nStr=''+nStr+"";return nStr}function toPercentageNF(){nNum=this.num*100;nNum=this.getRounded(nNum);return nNum+"%"} function getZerosNF(places){var extraZ="";var i;for(i=0;i=0?Math.floor(val):Math.ceil(val);else val=Math.round(val);val=this.moveDecimalLeft(val);return val} function preserveZerosNF(val){var i;val=this.expandExponential(val);if(this.places<=0)return val;var decimalPos=val.indexOf(".");if(decimalPos==-1){val+=".";for(i=0;i=0?"&nocache=":"?nocache=")+(new Date).getTime();else return""};var _vars=function(options){var str=[];if(options.trustedDomains)if(typeof options.trustedDomains==="string")str.push("trustedDomain="+options.trustedDomains);else str.push("trustedDomain="+options.trustedDomains.join(",")); return str.join("&")};var _inArray=function(elem,array){if(array.indexOf)return array.indexOf(elem);for(var i=0,length=array.length;i '; container=document.createElement("div");container.id="global-zeroclipboard-html-bridge";container.setAttribute("class","global-zeroclipboard-container");container.setAttribute("data-clipboard-ready",false);container.style.position="absolute";container.style.left="-9999px";container.style.top="-9999px";container.style.width="15px";container.style.height="15px";container.style.zIndex="9999";container.innerHTML=html;document.body.appendChild(container)}client.htmlBridge=container;client.flashBridge= document["global-zeroclipboard-flash-bridge"]||container.children[0].lastElementChild};ZeroClipboard.prototype.resetBridge=function(){this.htmlBridge.style.left="-9999px";this.htmlBridge.style.top="-9999px";this.htmlBridge.removeAttribute("title");this.htmlBridge.removeAttribute("data-clipboard-text");_removeClass(currentElement,this.options.activeClass);currentElement=null;this.options.text=null};ZeroClipboard.prototype.ready=function(){var ready=this.htmlBridge.getAttribute("data-clipboard-ready"); return ready==="true"||ready===true};ZeroClipboard.prototype.reposition=function(){if(!currentElement)return false;var pos=_getDOMObjectPosition(currentElement);this.htmlBridge.style.top=pos.top+"px";this.htmlBridge.style.left=pos.left+"px";this.htmlBridge.style.width=pos.width+"px";this.htmlBridge.style.height=pos.height+"px";this.htmlBridge.style.zIndex=pos.zIndex+1;this.setSize(pos.width,pos.height)};ZeroClipboard.dispatch=function(eventName,args){ZeroClipboard.prototype._singleton.receiveEvent(eventName, args)};ZeroClipboard.prototype.on=function(eventName,func){var events=eventName.toString().split(/\s/g);for(var i=0;i>2;enc2=(chr1&3)<<4|chr2>>4;enc3=(chr2&15)<<2|chr3>>6;enc4=chr3&63;if(isNaN(chr2))enc3=enc4=64;else if(isNaN(chr3))enc4=64;output=output+this._keyStr.charAt(enc1)+this._keyStr.charAt(enc2)+ this._keyStr.charAt(enc3)+this._keyStr.charAt(enc4)}return output},decode:function(input){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/=]/g,"");while(i>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1); if(enc3!=64)output=output+String.fromCharCode(chr2);if(enc4!=64)output=output+String.fromCharCode(chr3)}return Base64._collapseBytes(output)},_collapseBytes:function(str){var output="";var l=str.length;var i,chr1,chr2,chr3;for(i=0;i127&&c<2048){utftext+=String.fromCharCode(c>>6|192);utftext+=String.fromCharCode(c&63|128)}else{utftext+=String.fromCharCode(c>>12|224);utftext+=String.fromCharCode(c>>6&63|128);utftext+=String.fromCharCode(c&63|128)}}return utftext},_utf8_decode:function(utftext){var string="",i=0,c=0,c1=0,c2=0;while(i 191&&c<224){c2=utftext.charCodeAt(i+1);string+=String.fromCharCode((c&31)<<6|c2&63);i+=2}else{c2=utftext.charCodeAt(i+1);c3=utftext.charCodeAt(i+2);string+=String.fromCharCode((c&15)<<12|(c2&63)<<6|c3&63);i+=3}}return string}};function Base64Decode(data,compat){return Base64.decode(data)}function Base64Encode(data){return Base64.encode(data)};(function(){if(window.cadesplugin)return;var pluginObject;var plugin_resolved=0;var plugin_reject;var plugin_resolve;var isOpera=0;var isFireFox=0;var isEdge=0;var failed_extensions=0;var canPromise=!!window.Promise;var cadesplugin;if(canPromise)cadesplugin=new Promise(function(resolve,reject){plugin_resolve=resolve;plugin_reject=reject});else cadesplugin={};function check_browser(){var ua=navigator.userAgent,tem,M=ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i)||[];if(/trident/i.test(M[1])){tem= /\brv[ :]+(\d+)/g.exec(ua)||[];return{name:"IE",version:tem[1]||""}}if(M[1]==="Chrome"){tem=ua.match(/\b(OPR|Edge)\/(\d+)/);if(tem!=null)return{name:tem[1].replace("OPR","Opera"),version:tem[2]}}M=M[2]?[M[1],M[2]]:[navigator.appName,navigator.appVersion,"-?"];if((tem=ua.match(/version\/(\d+)/i))!=null)M.splice(1,1,tem[1]);return{name:M[0],version:M[1]}}var browserSpecs=check_browser();function cpcsp_console_log(level,msg){if(typeof console=="undefined")return;if(level<=cadesplugin.current_log_level){if(level== cadesplugin.LOG_LEVEL_DEBUG)console.log("DEBUG: %s",msg);if(level==cadesplugin.LOG_LEVEL_INFO)console.info("INFO: %s",msg);if(level==cadesplugin.LOG_LEVEL_ERROR)console.error("ERROR: %s",msg);return}}function set_log_level(level){if(!(level==cadesplugin.LOG_LEVEL_DEBUG||level==cadesplugin.LOG_LEVEL_INFO||level==cadesplugin.LOG_LEVEL_ERROR)){cpcsp_console_log(cadesplugin.LOG_LEVEL_ERROR,"cadesplugin_api.js: Incorrect log_level: "+level);return}cadesplugin.current_log_level=level;if(cadesplugin.current_log_level== cadesplugin.LOG_LEVEL_DEBUG)cpcsp_console_log(cadesplugin.LOG_LEVEL_INFO,"cadesplugin_api.js: log_level = DEBUG");if(cadesplugin.current_log_level==cadesplugin.LOG_LEVEL_INFO)cpcsp_console_log(cadesplugin.LOG_LEVEL_INFO,"cadesplugin_api.js: log_level = INFO");if(cadesplugin.current_log_level==cadesplugin.LOG_LEVEL_ERROR)cpcsp_console_log(cadesplugin.LOG_LEVEL_INFO,"cadesplugin_api.js: log_level = ERROR");if(isNativeMessageSupported()){if(cadesplugin.current_log_level==cadesplugin.LOG_LEVEL_DEBUG)window.postMessage("set_log_level=debug", "*");if(cadesplugin.current_log_level==cadesplugin.LOG_LEVEL_INFO)window.postMessage("set_log_level=info","*");if(cadesplugin.current_log_level==cadesplugin.LOG_LEVEL_ERROR)window.postMessage("set_log_level=error","*")}}function set_constantValues(){cadesplugin.CAPICOM_LOCAL_MACHINE_STORE=1;cadesplugin.CAPICOM_CURRENT_USER_STORE=2;cadesplugin.CADESCOM_LOCAL_MACHINE_STORE=1;cadesplugin.CADESCOM_CURRENT_USER_STORE=2;cadesplugin.CADESCOM_CONTAINER_STORE=100;cadesplugin.CAPICOM_MY_STORE="My";cadesplugin.CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED= 2;cadesplugin.CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME=1;cadesplugin.CADESCOM_XML_SIGNATURE_TYPE_ENVELOPED=0;cadesplugin.CADESCOM_XML_SIGNATURE_TYPE_ENVELOPING=1;cadesplugin.CADESCOM_XML_SIGNATURE_TYPE_TEMPLATE=2;cadesplugin.XmlDsigGost3410UrlObsolete="http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411";cadesplugin.XmlDsigGost3411UrlObsolete="http://www.w3.org/2001/04/xmldsig-more#gostr3411";cadesplugin.XmlDsigGost3410Url="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102001-gostr3411"; cadesplugin.XmlDsigGost3411Url="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr3411";cadesplugin.CADESCOM_CADES_DEFAULT=0;cadesplugin.CADESCOM_CADES_BES=1;cadesplugin.CADESCOM_CADES_T=5;cadesplugin.CADESCOM_CADES_X_LONG_TYPE_1=93;cadesplugin.CADESCOM_ENCODE_BASE64=0;cadesplugin.CADESCOM_ENCODE_BINARY=1;cadesplugin.CADESCOM_ENCODE_ANY=-1;cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_CHAIN_EXCEPT_ROOT=0;cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN=1;cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY= 2;cadesplugin.CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME=0;cadesplugin.CAPICOM_CERT_INFO_ISSUER_SIMPLE_NAME=1;cadesplugin.CAPICOM_CERTIFICATE_FIND_SHA1_HASH=0;cadesplugin.CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME=1;cadesplugin.CAPICOM_CERTIFICATE_FIND_ISSUER_NAME=2;cadesplugin.CAPICOM_CERTIFICATE_FIND_ROOT_NAME=3;cadesplugin.CAPICOM_CERTIFICATE_FIND_TEMPLATE_NAME=4;cadesplugin.CAPICOM_CERTIFICATE_FIND_EXTENSION=5;cadesplugin.CAPICOM_CERTIFICATE_FIND_EXTENDED_PROPERTY=6;cadesplugin.CAPICOM_CERTIFICATE_FIND_APPLICATION_POLICY= 7;cadesplugin.CAPICOM_CERTIFICATE_FIND_CERTIFICATE_POLICY=8;cadesplugin.CAPICOM_CERTIFICATE_FIND_TIME_VALID=9;cadesplugin.CAPICOM_CERTIFICATE_FIND_TIME_NOT_YET_VALID=10;cadesplugin.CAPICOM_CERTIFICATE_FIND_TIME_EXPIRED=11;cadesplugin.CAPICOM_CERTIFICATE_FIND_KEY_USAGE=12;cadesplugin.CAPICOM_DIGITAL_SIGNATURE_KEY_USAGE=128;cadesplugin.CAPICOM_PROPID_ENHKEY_USAGE=9;cadesplugin.CAPICOM_OID_OTHER=0;cadesplugin.CAPICOM_OID_KEY_USAGE_EXTENSION=10;cadesplugin.CAPICOM_EKU_CLIENT_AUTH=2;cadesplugin.CAPICOM_EKU_SMARTCARD_LOGON= 5;cadesplugin.CAPICOM_EKU_OTHER=0;cadesplugin.CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME=0;cadesplugin.CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME=1;cadesplugin.CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_DESCRIPTION=2;cadesplugin.CADESCOM_ATTRIBUTE_OTHER=-1;cadesplugin.CADESCOM_STRING_TO_UCS2LE=0;cadesplugin.CADESCOM_BASE64_TO_BINARY=1;cadesplugin.CADESCOM_DISPLAY_DATA_NONE=0;cadesplugin.CADESCOM_DISPLAY_DATA_CONTENT=1;cadesplugin.CADESCOM_DISPLAY_DATA_ATTRIBUTE=2;cadesplugin.CADESCOM_ENCRYPTION_ALGORITHM_RC2= 0;cadesplugin.CADESCOM_ENCRYPTION_ALGORITHM_RC4=1;cadesplugin.CADESCOM_ENCRYPTION_ALGORITHM_DES=2;cadesplugin.CADESCOM_ENCRYPTION_ALGORITHM_3DES=3;cadesplugin.CADESCOM_ENCRYPTION_ALGORITHM_AES=4;cadesplugin.CADESCOM_ENCRYPTION_ALGORITHM_GOST_28147_89=25;cadesplugin.CADESCOM_HASH_ALGORITHM_SHA1=0;cadesplugin.CADESCOM_HASH_ALGORITHM_MD2=1;cadesplugin.CADESCOM_HASH_ALGORITHM_MD4=2;cadesplugin.CADESCOM_HASH_ALGORITHM_MD5=3;cadesplugin.CADESCOM_HASH_ALGORITHM_SHA_256=4;cadesplugin.CADESCOM_HASH_ALGORITHM_SHA_384= 5;cadesplugin.CADESCOM_HASH_ALGORITHM_SHA_512=6;cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411=100;cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256=101;cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_512=102;cadesplugin.OID_ALGORITHM_CP_GOST_3411_2012_256="1.2.643.7.1.1.1.1";cadesplugin.OID_ALGORITHM_CP_GOST_3411_2012_512="1.2.643.7.1.1.1.2";cadesplugin.OID_ALGORITHM_CP_GOST_3411_2001="1.2.643.2.2.19";cadesplugin.LOG_LEVEL_DEBUG=4;cadesplugin.LOG_LEVEL_INFO=2;cadesplugin.LOG_LEVEL_ERROR= 1}function async_spawn(generatorFunc){function continuer(verb,arg){var result;try{result=generator[verb](arg)}catch(err){return Promise.reject(err)}if(result.done)return result.value;else return Promise.resolve(result.value).then(onFulfilled,onRejected)}var generator=generatorFunc(Array.prototype.slice.call(arguments,1));var onFulfilled=continuer.bind(continuer,"next");var onRejected=continuer.bind(continuer,"throw");return onFulfilled()}function isIE(){return browserSpecs.name=="IE"||browserSpecs.name== "MSIE"}function isIOS(){var retVal=navigator.userAgent.match(/ipod/i)||navigator.userAgent.match(/ipad/i)||navigator.userAgent.match(/iphone/i);return retVal}function isNativeMessageSupported(){if(browserSpecs.name=="IE"||browserSpecs.name=="MSIE")return false;if(browserSpecs.name=="Edge"){isEdge=true;return true}if(browserSpecs.name=="Opera"){isOpera=true;if(browserSpecs.version>=33)return true;else return false}if(browserSpecs.name=="Firefox"){isFireFox=true;if(browserSpecs.version>=52)return true; else return false}if(browserSpecs.name=="Chrome")if(browserSpecs.version>=42)return true;else return false}function CreateObject(name){if(isIOS())return call_ru_cryptopro_npcades_10_native_bridge("CreateObject",[name]);if(isIE()){if(name.match(/X509Enrollment/i))try{var objCertEnrollClassFactory=document.getElementById("certEnrollClassFactory");return objCertEnrollClassFactory.CreateObject(name)}catch(e){throw"\u0414\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u0431\u044c\u0435\u043a\u0442\u043e\u0432 X509Enrollment \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0432\u0435\u0431-\u0443\u0437\u0435\u043b \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043f\u043e\u0434\u043b\u0438\u043d\u043d\u043e\u0441\u0442\u0438 \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 HTTPS"; }try{var objWebClassFactory=document.getElementById("webClassFactory");return objWebClassFactory.CreateObject(name)}catch(e){return new ActiveXObject(name)}}return pluginObject.CreateObject(name)}function decimalToHexString(number){if(number<0)number=4294967295+number+1;return number.toString(16).toUpperCase()}function GetMessageFromException(e){var err=e.message;if(!err)err=e;else if(e.number)err+=" (0x"+decimalToHexString(e.number)+")";return err}function getLastError(exception){if(isNativeMessageSupported()|| isIE()||isIOS())return GetMessageFromException(exception);try{return pluginObject.getLastError()}catch(e){return GetMessageFromException(exception)}}function CreateObjectAsync(name){return pluginObject.CreateObjectAsync(name)}var ru_cryptopro_npcades_10_native_bridge={callbacksCount:1,callbacks:{},resultForCallback:function resultForCallback(callbackId,resultArray){var callback=ru_cryptopro_npcades_10_native_bridge.callbacks[callbackId];if(!callback)return;callback.apply(null,resultArray)},call:function call(functionName, args,callback){var hasCallback=callback&&typeof callback=="function";var callbackId=hasCallback?ru_cryptopro_npcades_10_native_bridge.callbacksCount++:0;if(hasCallback)ru_cryptopro_npcades_10_native_bridge.callbacks[callbackId]=callback;var iframe=document.createElement("IFRAME");var arrObjs=new Array("_CPNP_handle");try{iframe.setAttribute("src","cpnp-js-call:"+functionName+":"+callbackId+":"+encodeURIComponent(JSON.stringify(args,arrObjs)))}catch(e){alert(e)}document.documentElement.appendChild(iframe); iframe.parentNode.removeChild(iframe);iframe=null}};function call_ru_cryptopro_npcades_10_native_bridge(functionName,array){var tmpobj;var ex;ru_cryptopro_npcades_10_native_bridge.call(functionName,array,function(e,response){ex=e;var str="tmpobj="+response;eval(str);if(typeof tmpobj=="string"){tmpobj=tmpobj.replace(/\\\n/gm,"\n");tmpobj=tmpobj.replace(/\\\r/gm,"\r")}});if(ex)throw ex;return tmpobj}function show_firefox_missing_extension_dialog(){if(!window.cadesplugin_skip_extension_install){var ovr= document.createElement("div");ovr.id="cadesplugin_ovr";ovr.style="visibility: hidden; position: fixed; left: 0px; top: 0px; width:100%; height:100%; background-color: rgba(0,0,0,0.7)";ovr.innerHTML="
    "+""+ "

    \u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u041a\u0440\u0438\u043f\u0442\u043e\u041f\u0440\u043e \u042d\u0426\u041f Browser plugin \u043d\u0430 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u0430\u0439\u0442\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430. \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u043e\u043d\u043e \u0443 \u0412\u0430\u0441 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043e \u0438\u043b\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0435\u0433\u043e."+ "

    \u0421\u043a\u0430\u0447\u0430\u0442\u044c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435

    "+"
    ";document.getElementsByTagName("Body")[0].appendChild(ovr);document.getElementById("cadesplugin_close_install").addEventListener("click",function(){plugin_loaded_error("\u041f\u043b\u0430\u0433\u0438\u043d \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d"); document.getElementById("cadesplugin_ovr").style.visibility="hidden"});ovr.addEventListener("click",function(){plugin_loaded_error("\u041f\u043b\u0430\u0433\u0438\u043d \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d");document.getElementById("cadesplugin_ovr").style.visibility="hidden"});ovr.style.visibility="visible"}}function install_opera_extension(){if(!window.cadesplugin_skip_extension_install)document.addEventListener("DOMContentLoaded",function(){var ovr=document.createElement("div"); ovr.id="cadesplugin_ovr";ovr.style="visibility: hidden; position: fixed; left: 0px; top: 0px; width:100%; height:100%; background-color: rgba(0,0,0,0.7)";ovr.innerHTML="
    "+""+ "

    \u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u041a\u0440\u0438\u043f\u0442\u043e\u041f\u0440\u043e \u042d\u0426\u041f Browser plugin \u043d\u0430 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u0430\u0439\u0442\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0438\u0437 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0439 Opera."+ "

    "+"
    ";document.getElementsByTagName("Body")[0].appendChild(ovr);var btn_install=document.getElementById("cadesplugin_install");btn_install.addEventListener("click",function(event){window.location="https://addons.opera.com/extensions/download/cryptopro-extension-for-cades-browser-plug-in/";document.getElementById("cadesplugin_ovr").style.visibility= "hidden"});document.getElementById("cadesplugin_close_install").addEventListener("click",function(){plugin_loaded_error("\u041f\u043b\u0430\u0433\u0438\u043d \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d");document.getElementById("cadesplugin_ovr").style.visibility="hidden"});ovr.addEventListener("click",function(){plugin_loaded_error("\u041f\u043b\u0430\u0433\u0438\u043d \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d");document.getElementById("cadesplugin_ovr").style.visibility= "hidden"});ovr.style.visibility="visible";document.getElementById("cadesplugin_ovr_item").addEventListener("click",function(e){e.stopPropagation()})});else plugin_loaded_error("\u041f\u043b\u0430\u0433\u0438\u043d \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d")}function firefox_or_edge_nmcades_onload(){cpcsp_chrome_nmcades.check_chrome_plugin(plugin_loaded,plugin_loaded_error)}function nmcades_api_onload(){window.postMessage("cadesplugin_echo_request","*");window.addEventListener("message", function(event){if(typeof event.data!="string"||!event.data.match("cadesplugin_loaded"))return;if(isFireFox||isEdge){var url=event.data.substring(event.data.indexOf("url:")+4);var fileref=document.createElement("script");fileref.setAttribute("type","text/javascript");fileref.setAttribute("src",url);fileref.onerror=plugin_loaded_error;fileref.onload=firefox_or_edge_nmcades_onload;document.getElementsByTagName("head")[0].appendChild(fileref);failed_extensions++}else cpcsp_chrome_nmcades.check_chrome_plugin(plugin_loaded, plugin_loaded_error)},false)}function load_extension(){if(isFireFox||isEdge){nmcades_api_onload();return}else{var fileref=document.createElement("script");fileref.setAttribute("type","text/javascript");fileref.setAttribute("src","chrome-extension://iifchhfnnmpdbibifmljnfjhpififfog/nmcades_plugin_api.js");fileref.onerror=plugin_loaded_error;fileref.onload=nmcades_api_onload;document.getElementsByTagName("head")[0].appendChild(fileref);fileref=document.createElement("script");fileref.setAttribute("type", "text/javascript");fileref.setAttribute("src","chrome-extension://epebfcehmdedogndhlcacafjaacknbcm/nmcades_plugin_api.js");fileref.onerror=plugin_loaded_error;fileref.onload=nmcades_api_onload;document.getElementsByTagName("head")[0].appendChild(fileref)}}function load_npapi_plugin(){var elem=document.createElement("object");elem.setAttribute("id","cadesplugin_object");elem.setAttribute("type","application/x-cades");elem.setAttribute("style","visibility: hidden");document.getElementsByTagName("body")[0].appendChild(elem); pluginObject=document.getElementById("cadesplugin_object");if(isIE()){var elem1=document.createElement("object");elem1.setAttribute("id","certEnrollClassFactory");elem1.setAttribute("classid","clsid:884e2049-217d-11da-b2a4-000e7bbb2b09");elem1.setAttribute("style","visibility: hidden");document.getElementsByTagName("body")[0].appendChild(elem1);var elem2=document.createElement("object");elem2.setAttribute("id","webClassFactory");elem2.setAttribute("classid","clsid:B04C8637-10BD-484E-B0DA-B8A039F60024"); elem2.setAttribute("style","visibility: hidden");document.getElementsByTagName("body")[0].appendChild(elem2)}}function plugin_loaded(){plugin_resolved=1;if(canPromise)plugin_resolve();else window.postMessage("cadesplugin_loaded","*")}function plugin_loaded_error(msg){if(isNativeMessageSupported()){failed_extensions++;if(failed_extensions<2)return;if(isOpera&&(typeof msg=="undefined"||typeof msg=="object")){install_opera_extension();return}}if(typeof msg=="undefined"||typeof msg=="object")msg="\u041f\u043b\u0430\u0433\u0438\u043d \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d"; plugin_resolved=1;if(canPromise)plugin_reject(msg);else window.postMessage("cadesplugin_load_error","*")}function check_load_timeout(){if(plugin_resolved==1)return;if(isFireFox)show_firefox_missing_extension_dialog();plugin_resolved=1;if(canPromise)plugin_reject("\u0418\u0441\u0442\u0435\u043a\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u0430");else window.postMessage("cadesplugin_load_error", "*")}function createPromise(arg){return new Promise(arg)}function check_npapi_plugin(){try{var oAbout=CreateObject("CAdESCOM.About");plugin_loaded()}catch(err){document.getElementById("cadesplugin_object").style.display="none";var mimetype=navigator.mimeTypes["application/x-cades"];if(mimetype){var plugin=mimetype.enabledPlugin;if(plugin)plugin_loaded_error("\u041f\u043b\u0430\u0433\u0438\u043d \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d, \u043d\u043e \u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u043e\u0431\u044c\u0435\u043a\u0442\u044b"); else plugin_loaded_error("\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u0430")}else plugin_loaded_error("\u041f\u043b\u0430\u0433\u0438\u043d \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d")}}function check_plugin_working(){var div=document.createElement("div");div.innerHTML="\x3c!--[if lt IE 9]>*';var IMAGE_LOADING="/css/images/default/grid/loading.gif";var WAITING='';var POST_VAR_PROCEDURE_ID="procedure_id";var POST_VAR_LOT_ID="lot_id";var UPLOAD_FILES_TITLE="\u0414\u043b\u044f \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0439\u0442\u0435 \u0438\u0445 \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u043e\u0440\u043c\u044b \u043d\u0438\u0436\u0435."; var ACCEPTED_FILES="\u041f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u0444\u0430\u0439\u043b\u044b \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0444\u043e\u0440\u043c\u0430\u0442\u0430\u0445: {upload_file_types}";var PIC_ACCEPTED_FORMATS=".jpg, .gif, .png, .jpeg";var MAX_UPLOAD_SIZE=1024*1024*10;var PIC_UPLOAD_SIZE=1024*1024*3;var BINARY_PREFIX=1024;var LOADING_TEXT="\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445..."; var DICT_VAL_NOR_FOUND='\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 "%s" \u043d\u0435 \u0437\u0430\u0439\u0434\u0435\u043d\u043e \u0432 \u0441\u043b\u043e\u0432\u0430\u0440\u0435...';var USER_ROLE_ADMIN="ADMIN";var USER_SUPPLIER_ADMIN="SUPPLIER_ADMIN";var USER_CUSTOMER_ADMIN="CUSTOMER_ADMIN";var USER_PROFILE_WITH_EDS=1;var USER_PROFILE_WITHOUT_EDS=2;var USER_STATUS_NOT_CONFIRMED=1;var USER_STATUS_NOT_AUTHORIZED=2;var USER_STATUS_AUTHORIZED=3;var USER_STATUS_BLOCKED=4; var USER_STATUS_DECLINED=5;var USER_STATUS_DELETED=6;var STATUS_ADDED=1;var STATUS_CANCELLED=2;var STATUS_ACCEPTED=3;var STATUS_DECLINED=4;var TYPE_USER=1;var TYPE_OPERATOR=2;var TYPE_EXPERT=3;var SUPPLIER_TYPE_UR_RF=1;var SUPPLIER_TYPE_UR_FOREIGN=4;var SUPPLIER_TYPE_IP_RF=3;var SUPPLIER_TYPE_IP_FOREIGN=5;var SUPPLIER_TYPE_FIZ_RF=2;var SUPPLIER_TYPE_FIZ_FOREIGN=6;var CUSTOMER_TYPE_CUST=1;var CUSTOMER_TYPE_ORG=2;var APPLIC_DOC_REQUIRED=1;var APPLIC_DOC_OTHER=2;var APPLIC_DOC_MAXSUM=3; var APPLIC_DOC_GUARANTEE=4;var APPLIC_DOC_SMP_DECLARAION=5;var APPLIC_DOC_PRICE_OTHER=6;var APPLIC_DOC_ADD_PRICE_OTHER=7;var PROCEDURE_TYPE_AUC_ASC=1;var PROCEDURE_TYPE_AUC_DESC=2;var PROCEDURE_TYPE_TENDER=3;var PROCEDURE_TYPE_PRICELIST_REQ=5;var PROCEDURE_TYPE_QUOTATION_REQ=4;var PROCEDURE_TYPE_QUALIFICATION=6;var PROCEDURE_TYPE_PERETORG_REDUC=7;var PROCEDURE_TYPE_PERETORG_TENDER=8;var PROCEDURE_TYPE_SMALL_PURCHASE=9;var PROCEDURE_TYPE_PAPER_SINGLE_SUPPLIER=10;var PROCEDURE_TYPE_PAPER_AUC_ASC=11; var PROCEDURE_TYPE_PAPER_AUC_DESC=12;var PROCEDURE_TYPE_PAPER_TENDER=13;var PROCEDURE_TYPE_PAPER_QUOTATION_REQ=14;var PROCEDURE_TYPE_PAPER_PRICELIST_REQ=15;var PROCEDURE_TYPE_POSITIONAL_PURCHASE=17;var PROCEDURE_TYPE_PAPER_LIMITED_TENDER=30;var PROCEDURE_TYPE_PAPER_TWOSTEP_TENDER=31;var PROCEDURE_TYPE_TENDER_IN_TWO_STEPS=49;var PROCEDURE_TYPE_PAPER_TENDER_IN_TWO_STEPS=50;var PROCEDURE_PRICE_REQUEST=51;var PROCEDURE_CONCURRENT_PROCEDURE=52;var PROCEDURE_TYPE_PURCHASE_WITH_GRADE=53; var PROCEDURE_TYPE_PRICELIST=54;var PROCEDURE_TYPE_AUC_ASC_26=20;var PROCEDURE_TYPE_PUBLIC_SALE=21;var PROCEDURE_TYPE_COMPETITIVE_SELECTION=32;var DEPARTMENT_ROLE_HEAD=1;var DEPARTMENT_ROLE_SPECIALIST=2;var DEPARTMENT_ROLE_EXPERT=3;var DEPARTMENT_ROLE_OTO=4;var CONTRACT_DOCUMENTS_STATUS_DRAFT=0;var CONTRACT_DOCUMENTS_STATUS_REVIEW=1;var CONTRACT_DOCUMENTS_STATUS_RESOLVED=2;var CONTRACT_DOCUMENTS_STATUS_DEJECTED=3;var CONTRACT_DOCUMENTS_STATUS_WAITING_FOR_SUPPLIERS=4; var CONTRACT_DOCUMENTS_STATUS_TEXT={0:"\u041a\u043e\u043c\u043f\u043b\u0435\u043a\u0442 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043d\u0435 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d",1:"\u041a\u043e\u043c\u043f\u043b\u0435\u043a\u0442 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043d\u0430 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0438 \u0443 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0430",2:"\u041a\u043e\u043c\u043f\u043b\u0435\u043a\u0442 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u043e\u043c", 3:"\u041a\u043e\u043c\u043f\u043b\u0435\u043a\u0442 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u043e\u043c",4:"\u041a\u043e\u043c\u043f\u043b\u0435\u043a\u0442 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043d\u0430 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0438 \u0443 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432"}; var CONTRACT_DOCUMENTS_STATUS_ICON={1:"status-processing",2:"status-success",3:"status-rejected",4:"status-processing"};var LOT_STEP_APPLIC_NEW="new";var LOT_STEP_APPLIC_EDIT="edit";var LOT_STEP_APPLIC_OPENED="applic_opened";var LOT_STEP_FIRST_PARTS="first_parts";var LOT_STEP_TRADE="trade";var LOT_STEP_SECOND_PARTS="second_parts";var LOT_STEP_EVALUATION="evaluation";var LOT_STEP_SELECTION="selection";var LOT_STEP_PERETORG_REDUC="peretorg_reduc";var LOT_STEP_PERETORG_TENDER="peretorg_contest"; var LOT_STEP_QUALIFICATION="qualification";var LOT_STEP_PREQUALIFICATION="prequalification";var LOT_STEP_POSTQUALIFICATION="postqualification";var LOT_STEP_CORRECTION="correction";var LOT_STEP_PROCEDURE_CORRECTION="procedure_correction";var LOT_STEP_REGISTRATION="registration";var LOT_STEP_QUAL_REGISTRATION="qual_registration";var LOT_STEP_PREPREQUALIFICATION="pre_prequalification";var LOT_STEP_PRE_APPLIC_OPENED="pre_applic_opened";var LOT_STEP_PRE_QUAL_REGISTRATION="pre_qual_registration"; var LOT_STEP_FINAL_REGISTRATION="final_registration";var AUCTION_FEE=3E3;var INDEX_OF_NOT_FOUND=-1;var STANDARD_FIELD_HEIGHT=22;var CONTRACT_SIGN_DIGITAL=1;var CONTRACT_SIGN_PAPER=2;var PREFERENCE925_TEXT='\u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u0434\u043b\u044f \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f, \u0440\u0430\u0431\u043e\u0442, \u0443\u0441\u043b\u0443\u0433, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445, \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0438\u043c\u0438 \u043b\u0438\u0446\u0430\u043c\u0438 (\u041f\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u041f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430 \u0420\u0424 \u043e\u0442 16 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f 2016 \u0433. N 925): \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d'; var FINCOMPANY_STATUS={STATUS_DRAFT:0,STATUS_PUBLISHED:1,STATUS_STOPPED:2,STATUS_REMOVED:3};var COMPANY_STATUS={STATUS_NOT_APPROVED:1,STATUS_APPROVED:2,STATUS_BLOCKED:3,STATUS_BLOCKED_FOR_DECISION:4,STATUS_DELETED:5,STATUS_FINISHED:6}; var FINCOMPANY_STATUS_TEXT={0:"\u041d\u0435 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043e",1:"\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043e",2:"\u0417\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d",3:"\u0423\u0434\u0430\u043b\u0435\u043d"};var TYPE_OBJECT_PURCHASE={"G":"\u0422\u043e\u0432\u0430\u0440","W":"\u0420\u0430\u0431\u043e\u0442\u0430","S":"\u0423\u0441\u043b\u0443\u0433\u0430"}; var TYPE_STATUS_CONTRACT={"P":"\u0420\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u043e","I":"\u041d\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e","M":"\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435","F":"\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435"}; var TYPE_PROVISION={"RESOURCES_FZ44":"\u0417\u0430 \u0441\u0447\u0435\u0442 \u0441\u0440\u0435\u0434\u0441\u0442\u0432, \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u043e\u043c 44-\u0424\u0417","RESOURCES_FZ44_NATIONAL_PROJECTS":"\u0417\u0430 \u0441\u0447\u0435\u0442 \u0441\u0440\u0435\u0434\u0441\u0442\u0432, \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u043e\u043c 44-\u0424\u0417, \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u043c\u044b\u0445 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432", "NATIONAL_PROJECTS_SUBSIDIES":"\u0417\u0430 \u0441\u0447\u0435\u0442 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u0441\u0443\u0431\u0441\u0438\u0434\u0438\u0439, \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u043c\u044b\u0445 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432/\u0417\u0430 \u0441\u0447\u0435\u0442 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u0441\u0443\u0431\u0441\u0438\u0434\u0438\u0438, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u043e\u0439 \u0432 \u0446\u0435\u043b\u044f\u0445 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0438 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0438 (\u0438\u043b\u0438) \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u043e\u0433\u043e \u043f\u043b\u0430\u043d\u0430 \u043c\u043e\u0434\u0435\u0440\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u043c\u0430\u0433\u0438\u0441\u0442\u0440\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b", "NATIONAL_FEDERAL_PROJECTS_SUBSIDIES":"\u0417\u0430 \u0441\u0447\u0435\u0442 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u0441\u0443\u0431\u0441\u0438\u0434\u0438\u0438, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u043e\u0439 \u0432 \u0446\u0435\u043b\u044f\u0445 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0438 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0438 (\u0438\u043b\u0438) \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u043e\u0433\u043e \u043f\u043b\u0430\u043d\u0430 \u043c\u043e\u0434\u0435\u0440\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u043c\u0430\u0433\u0438\u0441\u0442\u0440\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b", "NO_BUDGET_RESOURCES_FZ44":"\u041d\u0435\u0442 \u0444\u0438\u043d\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0437\u0430 \u0441\u0447\u0435\u0442 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u0441\u0443\u0431\u0441\u0438\u0434\u0438\u0438, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u043e\u0439 \u0432 \u0446\u0435\u043b\u044f\u0445 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0438 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0438 (\u0438\u043b\u0438) \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u043e\u0433\u043e \u043f\u043b\u0430\u043d\u0430 \u043c\u043e\u0434\u0435\u0440\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u043c\u0430\u0433\u0438\u0441\u0442\u0440\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b"}; var CONTRACT_TYPE_TITLES={0:"\u043d\u0435 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f",1:"\u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435",2:"\u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u0438\u0441\u044c\u043c\u0435\u043d\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435"};var CONTRACT_FILE_TYPE_DRAFT=1; var CONTRACT_FILE_TYPE_GUARANTEE=3;var CONTRACT_FILE_TYPE_ADDITIONAL_AGREEMENT=14;var CONTRACT_FILE_TYPE_DISCREPANCY=9;var CONTRACT_FILE_TYPE_PERFORMANCE=13; var CONTRACT_FILE_TYPES={CONTRACT_FILE_TYPE_DRAFT:"\u0414\u043e\u0433\u043e\u0432\u043e\u0440",CONTRACT_FILE_TYPE_GUARANTEE:"\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u043e\u0431 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430",7:"\u0418\u043d\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442",CONTRACT_FILE_TYPE_DISCREPANCY:"\u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0440\u0430\u0437\u043d\u043e\u0433\u043b\u0430\u0441\u0438\u0439", 11:"\u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u043e\u0442\u043a\u0430\u0437\u0430 \u043e\u0442 \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430",12:"\u041f\u0440\u043e\u0447\u0438\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430",CONTRACT_FILE_TYPE_PERFORMANCE:"\u041e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430", CONTRACT_FILE_TYPE_ADDITIONAL_AGREEMENT:"\u0414\u043e\u043f. \u0441\u043e\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u0435",15:"\u041f\u0440\u043e\u0447\u0438\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0430"};var RETURN_TYPE_APPLICATIONS=1;var RETURN_TYPE_CREDITS=2;var TYPE_OOS_CONTRACT=1,TYPE_OOS_PURCHASE_CONTRACT=2,TYPE_OOS_SUBCONTRACTOR_INFO=3,TYPE_OOS_CONTRACT_EXECUTION=4,TYPE_OOS_CONTRACT_TERMINATION=5; var CONTRACT_CANCEL_BASES=[{id:1,text:"\u0421\u043e\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u0435 \u0441\u0442\u043e\u0440\u043e\u043d"},{id:2,text:"\u0421\u0443\u0434\u0435\u0431\u043d\u044b\u0439 \u0430\u043a\u0442"},{id:3,text:"\u041e\u0434\u043d\u043e\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0439 \u043e\u0442\u043a\u0430\u0437 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0430 \u043e\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0433\u0440\u0430\u0436\u0434\u0430\u043d\u0441\u043a\u0438\u043c \u0437\u0430\u043a\u043e\u043d\u043e\u0434\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e\u043c"}, {id:4,text:"\u041e\u0434\u043d\u043e\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0439 \u043e\u0442\u043a\u0430\u0437 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430 \u043e\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0433\u0440\u0430\u0436\u0434\u0430\u043d\u0441\u043a\u0438\u043c \u0437\u0430\u043a\u043e\u043d\u043e\u0434\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e\u043c\u043d"}]; var CONTRACT_CANCEL_BASES_DOC=[{id:11,text:"\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u0435 \u043a \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0443"},{id:21,text:"\u0421\u0443\u0434\u0435\u0431\u043d\u044b\u0439 \u0430\u043a\u0442"},{id:31,text:"\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0430 \u043e\u0431 \u043e\u0434\u043d\u043e\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0435\u043c \u043e\u0442\u043a\u0430\u0437\u0435 \u043e\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430"}, {id:41,text:"\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430 (\u043f\u043e\u0434\u0440\u044f\u0434\u0447\u0438\u043a\u0430, \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044f) \u043e\u0431 \u043e\u0434\u043d\u043e\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0435\u043c \u043e\u0442\u043a\u0430\u0437\u0435 \u043e\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430"}]; var OOS_STATUS_DECLINED=-1;var OOS_STATUS_ZERO=0;var OOS_STATUS_QUEUED=1;var OOS_STATUS_PUBLISHED=2;var PRICE_FORM_INFO_ABOUT_MAX_CONTRACT_PRICE=1;var PRICE_FORM_FORMULA_AND_MAX_CONTRACT_PRICE=2;var PRICE_FORM_UNIT_PRICE_AND_MAX_CONTRACT_PRICE=3;var RUB_SIGN="\u20bd";var USD_SIGN="$";var EUR_SIGN="\u20ac";var CURRENCY_SIGNS={"RUB":RUB_SIGN,"USD":USD_SIGN,"EUR":EUR_SIGN};var RISING_PROCEDURE_TYPES=[PROCEDURE_TYPE_AUC_ASC,PROCEDURE_PRICE_REQUEST,PROCEDURE_TYPE_QUALIFICATION]; var FEATURE_AUC_PROTOCOL=1;var FEATURE_APPLICS_VIEW=2;var FEATURE_MAKE_APPL=3;var FEATURE_EDS_LOGIN=4;var FEATURE_EXTENDED_REPRESENTATIVE_RIGHTS=6;var FEATURE_OOS_CONTRACTS=7;var CONTRACT_STATE_SIGNING=0;var CONTRACT_STATE_SIGNED=1; var PURCHASE_CANCELLATION_REASON={NO_APPLICATIONS_SUBMITTED:"\u041d\u0435 \u043f\u043e\u0434\u0430\u043d\u043e \u043d\u0438 \u043e\u0434\u043d\u043e\u0439 \u0437\u0430\u044f\u0432\u043a\u0438 \u043d\u0430 \u0443\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 \u0437\u0430\u043a\u0443\u043f\u043a\u0435",ALL_APPLICATIONS_CANCELED:"\u0412\u0441\u0435 \u0437\u0430\u044f\u0432\u043a\u0438 \u043d\u0430 \u0443\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 \u0437\u0430\u043a\u0443\u043f\u043a\u0435 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u044b", ONE_APPLICATION_SUBMITTED:"\u041d\u0430 \u0443\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 \u0437\u0430\u043a\u0443\u043f\u043a\u0435 \u043f\u043e\u0434\u0430\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0430 \u0437\u0430\u044f\u0432\u043a\u0430",ALL_APPLICATIONS_CANCELED_EXCEPT_ONE:"\u041e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u044b \u0432\u0441\u0435 \u0437\u0430\u044f\u0432\u043a\u0438 \u0437\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u043e\u0434\u043d\u043e\u0439", OTHER:"\u0418\u043d\u0430\u044f"};var EDO_ACCREDITATION_STATUS_DRAFT=0;var EDO_ACCREDITATION_STATUS_SIGNED=1;var EDO_ACCREDITATION_STATUS_APPROVED=2;var EDO_ACCREDITATION_STATUS_DECLINED=3;var LOT_DOCUMENT_TYPE_PROCEDURE_DOCUMENT=1;var LOT_DOCUMENT_TYPE_CANCEL_DOCUMENT=2;var LOT_DOCUMENT_TYPE_PROCEDURE_COMMON_DOCUMENT=3;var LOT_DOCUMENT_TYPE_PROCEDURE_OPERATOR_DOCUMENT=4;var LOT_DOCUMENT_TYPE_PROCEDURE_HIDDEN_DOCUMENT=5;var LOT_DOCUMENT_TYPE_PROCEDURE_CONTRACT_DOCUMENT=7; var LOT_DOCUMENT_TYPE_PROCEDURE_CONTRACT_DOCUMENT_BENEFICIARY=8;var EDS_TYPE_COMMERCIAL=1;var EDS_TYPE_PERSONAL=2;function gettime(){var d=new Date;return lz(d.getDate())+"."+lz(d.getMonth()+1)+"."+d.getFullYear()+" "+lz(d.getHours()+d.getTimezoneOffset()/60+3)+":"+lz(d.getMinutes())+":"+lz(d.getSeconds())}function href_to(link){if("/"==link.charAt(0))link=link.substr(1);if(""==link)link="/";return"#"+link.replace(/"/g,""")} function link_to(link,text,extra){if(undefined==text)text=link;var attrs=[];if(extra){if(extra.attrs)for(var i in extra.attrs){if(!extra.attrs.hasOwnProperty(i))continue;attrs.push(i+'="'+extra.attrs[i].toString().replace(/"/g,""")+'"')}if(extra.tip)attrs.push('ext:qtip="'+extra.tip.replace(/"/g,""")+'"')}return'"+text+""} function redirect_to(link,hide_msg){if(!Main.app||link=="/")document.location.href=href_to(link);else{if(hide_msg)Ext.Msg.hide();Main.app.redirect(link)}}if(!String.prototype.escapeHtml)String.prototype.escapeHtml=function(){if(Ext)return Ext.util.Format.htmlEncode(this);return this.replace(/&/g,"&").replace(//g,">")};if(!String.prototype.escapeUrl)String.prototype.escapeUrl=function(){if(this.encodeURI)return this.encodeURI();return escape(this)}; if(!String.prototype.toString)String.prototype.toString=function(){return this};if(!Array.prototype.unique)Array.prototype.unique=function(){var a=[];var l=this.length;for(var i=0;i"+text+""} Ext.ux.SimpleTreeLoader=Ext.extend(Ext.util.Observable,{load:function(node,callback,scope){if(!node)return false;var tree=node.getOwnerTree();tree.load(node,callback,scope);return true}});function getCurrentView(){return Main.app.viewport.getComponent(0)} function echoResponseMessage(resp,callback){if(!resp)resp={};if(resp.failureType=="server"&&Ext.MessageBox.isVisible())return;if(typeof resp.success=="function")resp=resp.result||{};var title=resp.success?"\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u0438 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u044b \u0443\u0441\u043f\u0435\u0448\u043d\u043e":"\u041e\u0448\u0438\u0431\u043a\u0430";var msg=resp.message||resp.msg;if(!msg)msg= resp.success?"\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u0438 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u044b \u0443\u0441\u043f\u0435\u0448\u043d\u043e":"\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430";var buttons=Ext.MessageBox.OK;if(!callback){var callback=Ext.emptyFn;if(!isEmpty(resp["redirect_url"]))resp["params"]={redirect:{ok:resp["redirect_url"]}};if(!isEmpty(resp["params"])){if(resp["params"]["buttons"])buttons= resp["params"]["buttons"];if(resp["params"]["redirect"])callback=function(btn){if(resp["params"]["redirect"][btn])redirect_to(resp["params"]["redirect"][btn])}}}msg=msg.replace(/(?:\r\n|\r|\n)/g,"
    ");Ext.MessageBox.show({title:t(title),msg:t(msg),buttons:buttons,icon:resp.success?Ext.MessageBox.INFO:Ext.MessageBox.WARNING,fn:callback.createDelegate(this)})} function setComboValue(combo,value,queryField){var store=null;store=combo.store;store.load({callback:function(){combo.setValue(value)},params:{query:value,queryfield:queryField}});return true}function defaultValue(value,dflt){return undefined==value||null==value?dflt:value} function checkSum(string,weights,mod1,mod2){mod1=defaultValue(mod1,11);mod2=defaultValue(mod2,10);var sum=0;var i;for(i=0;ii)sum+=parseInt(string.charAt(i),10)*weights[i];sum%=mod1;sum%=mod2;return sum} function checkSumINN(inn){switch(inn.length){case 10:var weights=[2,4,10,3,5,9,4,6,8,0];return""+checkSum(inn,weights);case 12:var weights1=[7,2,4,10,3,5,9,4,6,8,0];var weights2=[3,7,2,4,10,3,5,9,4,6,8,0];return""+checkSum(inn,weights1)+checkSum(inn,weights2)}return false} function performRPCCall(rpc_fn,params,displayparams,handler){var waiter={};params=params||[{}];waiter.enable=true;waiter.shown=false;waiter.params=displayparams||{};if(!rpc_fn)throw"Internal error: no method specified";if(waiter.params.mask){waiter.params.mask_el=waiter.params.mask_el||Ext.getBody();waiter.params.wait_delay=waiter.params.wait_delay||0}waiter.params.scope=waiter.params.scope||window;waiter.params.wait_text=waiter.params.wait_text||"\u0412\u0430\u0448\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f"; Ext.apply(waiter,{show:function(){if(!this.enable||this.params.wait_disable||Ext.Msg.isVisible()){this.shown=false;return}if(this.params.mask)this.params.mask_el.mask(this.params.wait_text,this.params.mask_class||"x-mask-loading");else Ext.MessageBox.show({title:this.params.wait_title||"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435",msg:this.params.wait_text,width:this.params.wait_width||400,wait:true,icon:this.params.wait_icon|| Ext.MessageBox.INFO});this.shown=true},hide:function(){this.enable=false;if(this.shown)if(this.params.mask)this.params.mask_el.unmask();else Ext.MessageBox.hide()},handler:function(result,e){var is_exception=!result||!e;this.enable=false;if(this.params.mask||!is_exception)this.hide();if(Main&&Main.app)Main.app.un("rpcerror",this.clean);if(!is_exception||this.params.exception_call)if(this.params.handle_failure&&result&&false===result.success)echoResponseMessage(result);else{if(this.params.monitor_valid&& (this.params.monitor_valid.isDestroyed||this.params.monitor_valid.destroying))return;handler.call(this.params.scope,result,e)}},clean:function(event){if(Main&&Main.app)Main.app.un("rpcerror",waiter.clean);if(!waiter.params.mask)this.shown=false;waiter.hide();if(event&&waiter.params.exception_call&&!event.action&&!event.method)waiter.handler(null,event)},rpccall:function(){if(0===this.params.wait_delay)this.show();else this.show.defer(this.params.wait_delay||500,this);params.push(this.handler.createDelegate(this)); if(Main&&Main.app)Main.app.on("rpcerror",this.clean);rpc_fn.apply(window,params)}});if(waiter.params.confirm)Ext.MessageBox.confirm(waiter.params.confirm_title||"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435",waiter.params.confirm,function(b){if("yes"==b)waiter.rpccall()});else waiter.rpccall()} function promiseRPC(rpc_fn,params,displayparams,root){return new Promise(function(resolve,reject){performRPCCall(rpc_fn,params,displayparams,function(result){var res=result&&root?result[root]:result;if(result&&result.success)resolve(res);else reject(res)})})}function promiseMsg(title,msg,value){return Ext.extension.Promise.message(title,msg,value)}function promiseAlertMsg(mess,title,icon,default_action,value){return Ext.extension.Promise.alert(mess,title,icon,default_action,value)} function isObjectEmpty(obj){for(var prop in obj)if(obj.hasOwnProperty(prop))return false;return JSON.stringify(obj)===JSON.stringify({})} function performAjaxRPCCall(url,callparams,displayparams,handler,jsonable){var waiter={};if(jsonable===undefined)jsonable=true;waiter.enable=true;waiter.shown=false;waiter.params=displayparams||{};waiter.fn=function(){if(!this.enable||this.params.wait_disable){this.shown=false;return}Ext.MessageBox.show({title:this.params.wait_title||"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435",msg:this.params.wait_text||"\u0412\u0430\u0448\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f", width:this.params.wait_width||400,wait:true,icon:this.params.wait_icon||Ext.MessageBox.INFO});this.shown=true};waiter.hide=function(){this.enable=false;if(this.shown)Ext.MessageBox.hide()};waiter.errortext=function(xhr,opts){var text="";var time=new Date;text+=" \u0415\u0441\u043b\u0438 \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442\u0441\u044f, \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c, \u0443\u043a\u0430\u0437\u0430\u0432 \u043f\u043e\u043b\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u043e\u0448\u0438\u0431\u043a\u0438, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u043c\u044b\u0439 \u043f\u043e \u043d\u0430\u0436\u0430\u0442\u0438\u044e \u043d\u0430 \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0438\u0436\u0435."; text+="
    ["+formatDate(time)+"] "+opts.url+"
    ";text+='';text+='";return text};waiter.parseresult=function(xhr,opts){this.hide();try{var resp=jsonable?Ext.decode(xhr.responseText):xhr.responseText;return resp}catch(e){if(!!window["Raven"]&&xhr["statusText"]&&xhr["statusText"]!="communication failure")Raven.captureException(e);var text="
    \u041e\u0448\u0438\u0431\u043a\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u0442\u0432\u0435\u0442\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0438 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u043e\u043c, \u043f\u0435\u0440\u0435\u0434 \u043f\u043e\u0432\u0442\u043e\u0440\u043e\u043c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 F5 \u0434\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b.
    "; text+=this.errortext(xhr,opts);alertError(text);return false}};var rpccall=function(){var form=undefined;if(0===waiter.params.wait_delay)waiter.fn();else waiter.fn.defer(waiter.params.wait_delay||500,waiter);if(waiter.params.download){form={tag:"form",style:"visibility: hidden; display:none;"};form=Ext.DomHelper.append(Ext.getBody(),form);waiter.enable=false}var request={url:url,method:"POST",params:callparams,isUpload:waiter.params.download,form:form,success:function(xhr,opts){if(waiter.params.download){form= new Ext.Element(form);form.remove()}var resp=waiter.parseresult(xhr,opts);if(waiter.params.handle_failure&&resp&&!resp.success)handler=echoResponseMessage;if(handler&&(resp||waiter.params.call_on_fail))handler(resp)},failure:function(xhr,opts){var resp=waiter.parseresult(xhr,opts);if(resp&&resp.msg){var t={result:resp};failureHandler(null,t)}else if(false!==resp){var text="\u041e\u0448\u0438\u0431\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443. \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0438 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u043e\u043c. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e, \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u0438\u0432 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u043d\u0430\u0436\u0430\u0432 F5"; alertError(text)}if(handler&&waiter.params.call_on_fail)handler(resp)}};if(waiter.params.timeout)request.timeout=waiter.params.timeout;Ext.Ajax.request(request)};if(waiter.params.confirm)Ext.MessageBox.confirm(waiter.params.confirm_title||"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435",waiter.params.confirm,function(b){if("yes"!=b)return false;rpccall()});else rpccall()} function storeExceptionHandler(store,options,xhr,t,direct){var resp;if(!xhr)xhr={};try{if(direct&&direct.result)resp=direct.result;else resp=xhr.result||Ext.decode(xhr.responseText||"{}");resp=resp.message||resp.msg||resp.exception||"\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430"}catch(e){resp=xhr.responseText||"\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430"}alertError(resp)} function serverInfo(callback){RPC.Index.serverinfo(function(resp){if(resp&&resp.success){Main.app.fireEvent("server_update",resp);if(Ext.isFunction(callback))callback(resp)}})} function updateServerTimeOffset(server_tz,server_time){if(undefined===server_tz||!server_time)return;var now=new Date;var tz_offset=-now.getTimezoneOffset()*6E4;now=now.getTime();Main.server_time_offset=now-server_time+tz_offset-server_tz;Main.server_tz=server_tz;Main.server_time_offset_last_sync=now;if(Main&&Main.app&&Math.abs(now-server_time)>5*60*1E3)Main.app.fireEvent("timeoffsetwarn",Math.abs(now-server_time))} function deleteAccreditationFile(file_id,contragent_type,div_id){Ext.Msg.confirm("\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435","\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0444\u0430\u0439\u043b?",function(r){if("yes"==r)RPC.File.deleteAccreditationFile(file_id,contragent_type,function(resp){if(resp.success)Ext.get(div_id).remove();else alertError(resp.msg)})})} function renderPagingToolbar(msg,store,pagesize,items,LocalTimezone){LocalTimezone=LocalTimezone||false;if(LocalTimezone&&Main.config.show_timezone){items.push("-");items.push({xtype:"tbtext",cls:"highlight-title",text:"\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u0432\u0430\u0448\u0435\u043c\u0443 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u0447\u0430\u0441\u043e\u0432\u043e\u043c\u0443 \u043f\u043e\u044f\u0441\u0443: "+ getLocalTimezone(true)+""})}return{xtype:"pagingtoolbar",pageSize:pagesize||25,store:store,displayInfo:true,displayMsg:msg+" {0} - {1} \u0438\u0437 {2}",emptyMsg:"\u0421\u043f\u0438\u0441\u043e\u043a \u043f\u0443\u0441\u0442",afterPageText:"\u0438\u0437 {0}",beforePageText:"\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430",items:items}} function renderStoreDownloadButton(store,url,limit_rec,confirm,options,callback){var limit=limit_rec||500;confirm=confirm||false;options=options||{};var params=Ext.isDefined(options.params)?options.params:{};var tooltip=Ext.isDefined(options.tooltip)?options.tooltip:"\u0421\u043a\u0430\u0447\u0430\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0443\u044e \u0432\u044b\u0431\u043e\u0440\u043a\u0443 \u043a\u0430\u043a \u0442\u0430\u0431\u043b\u0438\u0446\u0443 Excel.
    \n"+(!!limit_rec?"\u0422\u0430\u0431\u043b\u0438\u0446\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043f\u0435\u0440\u0432\u044b\u0435 "+ limit+" \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u0441 \u0442\u0435\u043a\u0443\u0449\u0438\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438.":"");var cfg={xtype:"button",icon:options["icon"]||"/images/icons/silk/page_excel.png",tooltip:tooltip,hidden:isGuest(),text:"",handler:function(){Ext.apply(params,store.baseParams);params=Ext.apply(params,{format:"excel", start:0,limit:limit_rec});var sort=store.getSortState();if(Ext.isDefined(sort))Ext.apply(params,{sort:sort.field,dir:sort.direction});var display={download:true,wait_disable:true};if(Ext.isFunction(callback))params=callback(params);if(confirm&&getConfigValue("xls")&&store.getTotalCount()>100)Ext.apply(display,{confirm:String.format("\u0412\u044b\u0433\u0440\u0443\u0437\u043a\u0430 \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043d\u044f\u0442\u044c \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f. \u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0432\u044b\u0433\u0440\u0443\u0437\u0438\u0442\u044c {0} \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440?", store.getTotalCount())});performAjaxRPCCall(url,params,display,echoResponseMessage)}};Ext.apply(cfg,options);if(Ext.isEmpty(cfg.iconCls)&&Ext.isEmpty(cfg.icon))Ext.apply(cfg,{iconCls:"icon-silk-page_excel"});return cfg}function getObjectValue(o,p,def){return o&&Ext.isDefined(o[p])?o[p]:def||false} function getConfigValue(path,def){var a=path.split(/\->/i);var r=Main.config;var found=true;Ext.each(a,function(p){if(!Ext.isDefined(r[p])){found=false;return false}r=getObjectValue(r,p)});return found?r:def||false}function rejectStoreChanges(store){store.rejectChanges();store.each(function(r){if(r.phantom)store.remove(r)})} function checkMandate(path,mandates){var p=path.toLowerCase()+"/";for(var i=0;i=0)data.menu.items=t[idx].menu.items}if(idx<0)t.push(data);else Ext.apply(t[idx],data)}function menuSort(menu){for(var i=0;i1){t=menues.pop();menues.push("->");menues.push(t)}return new Ext.Toolbar({xtype:"toolbar",cls:"user-menu-bar",autoHeight:true,width:"auto",items:menues})}function merge_options(obj1,obj2){var obj3={};for(var attrname in obj1)obj3[attrname]=obj1[attrname];for(var attrname in obj2)obj3[attrname]=obj2[attrname];return obj3} function loadFilesIntoFilePanels(files,params,withHash){if(files!=null&&!!Ext.isArray(files)){var req_id=0,req_files=null,file_html="";for(var i=0;i':"")+''+file_title.escapeHtml()+ (f.link?"":"")+deleteHandler+"
    "+''+(undefined!==f.size&&0!=f.size?"\u0440\u0430\u0437\u043c\u0435\u0440 "+Ext.util.Format.humanizeSize(f.size):"")+(undefined!==f.hash&&withHash?", \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 \u0413\u041e\u0421\u0422 \u042034.11-94: "+f.hash:"")+(undefined!==f.date_added||undefined!==f.date?", \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d "+Ext.util.Format.localDateRenderer(f.date_added|| f.date):"")+"";if(f.obsolete)r=''+r+" ("+(f.obsolete_text||"\u043d\u0435\u0430\u043a\u0442\u0443\u0430\u043b\u0435\u043d")+")";else if(f.oos_publish_link)r+="  "+f.oos_publish_link;if(!!f["delete_draft"])r=''+r+"";return r} function getFileInfoPanel(file,params,withHash){var p={border:false,cls:"spaced-bottom-shallow",file:file,html:getFileInfoHtml(file,withHash,null)};params=params||{};var file_delete_handler=null;if(file&&file.deleteHandler&&!params.deleteHandler)file_delete_handler=file.deleteHandler;if(undefined!==file.descr||undefined!==file.description)if(!file.noDelete&&(params.deleteHandler||file_delete_handler)){var delete_id=Ext.id();if(!p.file["delete_draft"]){deleteHandler=' ';p.html=getFileInfoHtml(file,withHash,deleteHandler);p.listeners={afterrender:function(cmp){var d=Ext.get(delete_id);d.on("click",function(){Ext.Msg.confirm("\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435","\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0444\u0430\u0439\u043b \u00ab"+ cmp.file.name.escapeHtml()+"\u00bb?",function(b){if(b=="yes")if(file_delete_handler)file_delete_handler(cmp.file,cmp);else params.deleteHandler(cmp.file,cmp)})})}}}else p.html=getFileInfoHtml(file,withHash,null)}if(file.title)p.title=file.title;return p}function addEvents(component,events){for(var i=0;i=0){haystack=haystack.substr(i+needle.length);cnt++}return cnt} function parsePrice(string){if(Ext.isNumber(string))return string;if(!Ext.isString(string))return false;string=string.replace(/[ ']+/g,"");if(string.indexOf(",")>=0&&string.indexOf(".")>=0){string=string.replace(/,/g,".");var pos=string.lastIndexOf(".");if(pos>=0)string=string.substr(0,pos).replace(/\./g,"")+string.substr(pos)}if(1==substr_count(string,","))string=string.replace(",",".");if(string.search(/^([+-])?[0-9]+(\.[0-9]+)?([eE][+-][0-9]+)?$/)<0)return false;return Number(string)} function number_format(v,cfg){function obj_merge(obj_first,obj_second){var obj_return={};for(var key in obj_first)if(typeof obj_second[key]!=="undefined")obj_return[key]=obj_second[key];else obj_return[key]=obj_first[key];return obj_return}function thousands_sep(n,sep){return n.replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+sep)}if(typeof v!=="number"){v=parseFloat(v);if(isNaN(v))return v}var cfg_default={before:"",after:"",decimals:null,dec_point:",",thousands_sep:" "};if(cfg&&typeof cfg==="object")cfg= obj_merge(cfg_default,cfg);else cfg=cfg_default;var v1=v.toString();if(cfg.decimals!==null)v1=v.toFixed(cfg.decimals);var v_arr=v1.split(".");var nf=thousands_sep(v_arr[0],cfg.thousands_sep);if(2===v_arr.length)nf=nf+cfg.dec_point+v_arr[1];return cfg.before+nf+cfg.after}function now(){return new Date} function getServerTime(){if(undefined===Main.server_time_offset)return null;var date_s=new Date;date_s.setTime(date_s.getTime()-Main.server_time_offset);var diff=Math.round(Math.abs(Main.server_tz)/1E3);var server_tz=(Main.server_tz>=0?"+":"-")+lz(Math.floor(diff/(60*60)))+":";diff=diff%(60*60);server_tz+=lz(Math.floor(diff/60));return Date.parseDate(date_s.format("Y-m-d\\TH:i:s")+server_tz,"c")} function isSupplier(){return Main.contragent&&Main.contragent.supplier_accreditations&&Main.contragent.supplier_accreditations.length}function isSupplierAccred(){return Main.contragent&&Main.contragent.supplier_accreditations&&Main.contragent.supplier_accreditations.length&&Main.contragent.supplier_accreditations[0]["status"]==3}function isCustomer(){return Main.contragent&&Main.contragent.customer_accreditations&&Main.contragent.customer_accreditations.length} function isExpert(){return Main&&Main.contragent&&Main.contragent.is_expert}function isCustomerAccred(){return Main.contragent&&Main.contragent.customer_accreditations&&Main.contragent.customer_accreditations.length&&Main.contragent.customer_accreditations[0]["status"]==3}function isCustomerSpecorg(){return Main&&Main.contragent&&Main.contragent.customer_profile_id==2}function isAdmin(){return Main&&Main.user&&Main.user.has_role_admin} function hasRole(role){return Main&&Main.user&&Main.user.role_codes&&Main.user.role_codes.indexOf(role)!==-1}function isContragentAdmin(){return Main&&Main.user&&Main.user.isAdminContragent}function isOperator(){return Main&&Main.user&&Main.user.is_operator}function isCustomerAdmin(){return Main&&Main.user&&Main.user.is_customer_admin}function isNoeds(){return Main&&Main.user&&Main.user.is_noeds}function isGuest(){return!Main||!Main.user||Main.user.role=="guest"} function getActiveUser(){return!isGuest()&&Main.user.id>0?Main.user.id:-1}function getActiveCompany(){return!isGuest()&&Main.user.contragent_id>0?Main.user.contragent_id:-1} function setAnnouncement(announcement){var el=Ext.get("layout_announcement_panel");if(!el)return false;var btn=el.child(".announcement-close-button");if(btn)btn.remove();el.update("");if(announcement&&!isGuest()){var hideHash=announcement.uuid;var txtEl=el.createChild({cls:"announcement",width:"100%",html:announcement.message}).createChild({tag:"a",href:"#",html:"",title:"\u0421\u043a\u0440\u044b\u0442\u044c \u044d\u0442\u043e \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435",cls:"announcement-close-button"}).on("click", function(event,el){Ext.getCmp("layout_center_outer_panel").doLayout();setAnnouncement("");if(!!announcement["handler_controller"]&&!!announcement["handler_action"])performRPCCall(RPC[announcement["handler_controller"]][announcement["handler_action"]],[{uuid:announcement["uuid"],action:"accept"}],{mask:false},function(resp){Main.app.fireEvent("accept_decision",announcement.uuid,function(notifications){showNotificationsDialog(false,{position:2})})});event.stopEvent();return false})}return el.repaint()} function showNotificationsDialog(show_defered,filter){var notifications=Main.notifications;var annoucments_to_show=[];var notifications_to_show=[];var filter=filter||{};var defered=Ext.util.Cookies.get("defered_notifications");defered=defered?Ext.util.JSON.decode(defered):[];for(var i=0;i-1)continue;if(filter&&filter["position"]&¬ification["position"]!=filter["position"])continue; if(notification["position"]==2)annoucments_to_show.push(notification);else notifications_to_show.push(notification)}if(!notifications_to_show.length&&!annoucments_to_show.length)return;Ext.each(annoucments_to_show,function(annoucment_to_show,i){setAnnouncement(annoucment_to_show);return false});for(var i=notifications_to_show.length-1;i>=0;i--){var notification_to_show=notifications_to_show[i];var cmpWindow=new Application.components.decisionsDialog({title:"\u0412\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435 ("+ (i+1)+" \u0438\u0437 "+notifications_to_show.length+")",notification:notification_to_show});cmpWindow.show()}}function showNotificationsGrid(){var win=new Ext.Window({closeAction:"hide",width:700,height:300,modal:true,title:"\u041c\u043e\u0438 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f",layout:"fit",items:[{xtype:"Application.components.MyNotificationsGrid"}]});win.show()} function clearCookies(){if(Main&&Main.session_name){var session_name=Main.session_name;var date=new Date;date.setTime(date.getTime()-24*3600*1E3);document.cookie=session_name+"=; expires="+date.toGMTString()}Ext.util.Cookies.clear("defered_decisions")}function callComponents(components,callback){var cmp;for(var i=components.length-1;i>=0;i--){cmp=Ext.getCmp(components[i]);if(cmp)callback(cmp)}} function cleanFormItems(form){if(form&&form.items&&form.items.each)form.items.each(function(e){if(e.clearValue)e.clearValue();else if(e.reset)e.reset();else if(e.items)cleanFormItems(e)})}function RPCBind(rpc_fn){var rpc_path=rpc_fn.split(".");function getFn(){var fn=window;for(var i=0;i0&&!e.hidden&&!e.disabled){var subFormValid=isFormValidAdvanced(e);if(subFormValid===true)valid=true;else{valid=false;errors=errors.concat(subFormValid)}}}); return!!valid?true:errors} function alertFormErrors(items,prefix){var prefix=prefix||"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u043e\u043b\u044f:";var ol="";Ext.iterate(items,function(item){var item_title="";if(!item.fieldLabel&&(item.ownerCt.getXType()=="panel"||item.ownerCt.getXType()=="fieldset"))item_title=clearFieldLabel(item.ownerCt.title); else if(item.fieldLabel)item_title=clearFieldLabel(item.fieldLabel);if(!isEmpty(item_title))ol+="
  • "+clearFieldLabel(item_title)+"
  • "});return alertError(prefix+'
      '+ol+"
    ")}function clearFieldLabel(label){return label?label.replace(REQUIRED_FIELD,""):""}function logout(hide_msg){if(hide_msg)Ext.Msg.hide();RPC.Authentication.logout(null,function(provider,response){clearCookies();setAnnouncement("");Main.reloadPrivileges()})} function renderTip(text,params){params=params||{};return'[?]'} function performStoreSearch(store,query,advanced_query){var aq=advanced_query||{};aq.query=query;if(aq)for(var sp in aq){if(!aq.hasOwnProperty(sp))continue;store.setBaseParam(sp,aq[sp])}if(store.baseParams){delete store.baseParams.limit;delete store.baseParams.start}store.load()} function ensureStoreLoaded(store,callback,scope){if(Ext.isEmpty(store.lastOptions)&&!store.autoLoad)store.load({callback:callback,scope:scope});else if(callback&&!Ext.isEmpty(store.totalLength))callback.call(scope);else if(callback)store.on("load",callback,scope,{single:true})}function initIds(ids){var result={};for(var cnt=ids.length;cnt--;)result[ids[cnt]]=Ext.id();return result}function in_array(needle,haystack){for(var i in haystack)if(haystack[i]==needle)return true;return false} function showFormErrors(form){if(form&&form.items&&form.items.each){var err_msg="";form.items.each(function(item){if(!item.isValid())err_msg+=""+item.fieldLabel+": "+item.getActiveError()+"
    "});alertError(err_msg)}} var isAllOf=function(a,r){if(a.tooltip=="\u041f\u043e\u0434\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u044f\u0432\u043a\u0438"){var isOrganizer=r.data.organizer_contragent_id==Main.contragent.id;if(isCustomer()&&r.data.procedure_type==PROCEDURE_TYPE_QUOTATION_REQ&&isOrganizer&&r.json.is_applics_view)return false;if(Main.user&&Main.user.allow_view_apps)return false}for(var i=0;idata[i][column]?maxStatus:data[i][column];if(lots_number>1&&maxStatus==0){var status=0;for(var i=0;i=0)return true;return false};var doc_pend=function(v,m,r){return"\u0417\u0430\u043f\u0440\u043e\u0441\u044b: +"+r.data.pending_doc_request_number}; var preaplic_req=function(v,m,r){var numb=0;for(var j=0;j'} function isVarEmpty(obj){if(obj==null)return true;if(obj.length>0)return false;if(obj.length===0)return true;for(var key in obj)if(obj.hasOwnProperty(key))return false;return true}function isObjectEmpty(obj){if(obj==null)return true;if(obj.length>0)return false;if(obj.length===0)return true;for(var key in obj)if(obj.hasOwnProperty(key))return false;return true} function getFileInfoPanelWithActual(file,params,withHash){var p={border:false,cls:"spaced-bottom-shallow",file:file,html:getFileInfoHtml(file,withHash)};params=params||{};var file_delete_handler=null;if(file&&file.deleteHandler&&!params.deleteHandler)file_delete_handler=file.deleteHandler;if(undefined!==file.descr||undefined!==file.description){if(!!params.deleteHandler||file_delete_handler){var delete_id=Ext.id();if(file.actual||!("actual"in file)){p.html+=' ';p.listeners={afterrender:function(cmp){var d=Ext.get(delete_id);d.on("click",function(){Ext.Msg.confirm("\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435","\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0444\u0430\u0439\u043b \u00ab"+ cmp.file.name.escapeHtml()+"\u00bb?",function(b){if(b=="yes")if(file_delete_handler)file_delete_handler(cmp.file,cmp);else params.deleteHandler(cmp.file,cmp)})})}}}}if(params.displayLastFile||!(params.deleteHandler||file_delete_handler))p.html+=file.actual===false?' \u041d\u0435\u0430\u043a\u0442\u0443\u0430\u043b\u0435\u043d':' \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0432\u0435\u0440\u0441\u0438\u044f'}return p} function filterFiles(files,filterAnd,filterOr,filters){var result=[];filterAnd=filterAnd||{};filterOr=filterOr||{};filters=filters||["type_id","supplier_id","customer_id","is_last_version","date_supplier_eds","tab_index"];var doFilterAnd=function(file){var allowed=true;for(var i=0;i>>0;if(typeof fun!=="function")throw new TypeError;var res=[];var thisp=arguments[1];for(var i=0;i'+record.get("supplier")+"":record.get("supplier");var additional_suppliers=record.get("additional_suppliers");if(additional_suppliers&&additional_suppliers.length> 0){var additional_suppliers_links=[];Ext.each(additional_suppliers,function(item){additional_suppliers_links.push(''+item["full_name"]+"")});value+=" (\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e: "+additional_suppliers_links.join(", ")+ ")"}if(record.data.rnp&&record.data.rnp==true)value+=rnp_text;meta.css="contragent-links";return value} function getAddressFields(){return{country:"\u0421\u0442\u0440\u0430\u043d\u0430",okato:"\u041a\u043e\u0434 \u041e\u041a\u0410\u0422\u041e",index:"\u041f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0438\u043d\u0434\u0435\u043a\u0441",region:"\u0420\u0435\u0433\u0438\u043e\u043d/\u043e\u0431\u043b\u0430\u0441\u0442\u044c",city:"\u0413\u043e\u0440\u043e\u0434/\u0440\u0430\u0439\u043e\u043d",settlement:"\u041d\u0430\u0441\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u043f\u0443\u043d\u043a\u0442",street:"\u0423\u043b\u0438\u0446\u0430", house:"\u0414\u043e\u043c \u0438 \u043e\u0444\u0438\u0441"}} function getBankDataFields(){return{account:"\u0420\u0430\u0441\u0447\u0435\u0442\u043d\u044b\u0439 \u0441\u0447\u0435\u0442",account_lic:"\u041b\u0438\u0446\u0435\u0432\u043e\u0439 \u0441\u0447\u0435\u0442",bik:"\u0411\u0418\u041a",account_kor:"\u041a\u043e\u0440\u0440\u0435\u0441\u043f\u043e\u043d\u0434\u0435\u043d\u0442\u0441\u043a\u0438\u0439 \u0441\u0447\u0435\u0442",bank:"\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u0430\u043d\u043a\u0430",bank_addr:"\u0410\u0434\u0440\u0435\u0441 \u0431\u0430\u043d\u043a\u0430"}} function indexOf(arr,dataIndex,keyName){keyName=keyName||"dataIndex";for(var i=0,l=arr.length;arr[i]&&arr[i][keyName]!==dataIndex;i++)continue;return i===l?INDEX_OF_NOT_FOUND:i}function alertDialog(message,title,args){args=args||{};Ext.apply(args,{title:title||"\u041e\u0448\u0438\u0431\u043a\u0430",msg:message});Ext.MessageBox.show(args)}function alertError(message,title,args){args=args||{};args.icon=Ext.MessageBox.ERROR;args.buttons=Ext.MessageBox.OK;return alertDialog(message,title,args)} function alertWarning(message,title,args){args=args||{};args.icon=Ext.MessageBox.WARNING;args.buttons=Ext.MessageBox.OK;return alertDialog(message,title,args)}function alertSuccess(message,title,args){args=args||{};args.icon=Ext.MessageBox.INFO;args.buttons=Ext.MessageBox.OK;return alertDialog(message,title,args)} function show_accreditaion_dialog(contragent_id,params){var params=params||{};params=Ext.apply(params,{id:contragent_id,draft:false});RPC.Company.view(params,function(result){if(result.success){var uTpl=getCompanydataTemplate();var balanceTpl=getBalanceTemplate();var bankdataTpl=getBankshortdataTemplate();var bank_data=result.cmp.bank_data;var win=new Ext.Window({closeAction:"hide",width:700,height:300,modal:true,title:"\u0410\u043a\u043a\u0440\u0435\u0434\u0438\u0442\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f", layout:"fit",padding:10,items:[{xtype:"fieldset",tpl:uTpl,title:"\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0444\u0438\u043b\u044f",data:result.cmp}],buttons:[{text:"\u0417\u0430\u043a\u0440\u044b\u0442\u044c",handler:function(){win.close()}}]});win.show()}else{Ext.Msg.alert("\u041e\u0448\u0438\u0431\u043a\u0430",result.message);redirect_to("com/procedure/index")}})} function alertWarning(message,title,args){args=args||{};Ext.apply(args,{title:title||"\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435",msg:message,icon:Ext.MessageBox.WARNING,buttons:Ext.MessageBox.OK});Ext.MessageBox.show(args)}function logException(e){if(window["Raven"]&&Raven.captureException){Raven.captureException(e);return true}return false}function array_key_exists(key,array){return array.indexOf(key)>-1} function getLot(procedure,lot_id){var lot=null;Ext.iterate(procedure["lots"],function(current_lot){if(current_lot["id"]&¤t_lot["id"]==lot_id)lot=current_lot});return lot}function convertObjectToFormElements(arr){var result=[];Ext.iterate(arr,function(name,val){result.push({xtype:"hidden",name:name,value:val})});return result} function hideGridColumn(gridObj,columnIndexName){Ext.iterate(gridObj.getColumnModel().columns,function(data,i){if(data.dataIndex==columnIndexName)Ext.getCmp(gridObj.getColumnModel().setHidden(i,true))})}function showGridColumn(gridObj,columnIndexName){Ext.iterate(gridObj.getColumnModel().columns,function(data,i){if(data.dataIndex==columnIndexName)Ext.getCmp(gridObj.getColumnModel().setHidden(i,false))})} function detectProcedureTypeByMethodName(method_name){method_name=method_name.toLocaleLowerCase();if(method_name.indexOf("\u043a\u043e\u043d\u043a\u0443\u0440\u0441")>-1)return PROCEDURE_TYPE_TENDER;if(!!isSigleMethodSupplierItem(method_name))return PROCEDURE_TYPE_PAPER_SINGLE_SUPPLIER;if(method_name.indexOf("\u0430\u0443\u043a\u0446\u0438\u043e\u043d \u043d\u0430 \u043f\u043e\u043d\u0438\u0436\u0435\u043d\u0438\u0435")>-1)return PROCEDURE_TYPE_AUC_DESC;if(method_name.indexOf("\u0430\u0443\u043a\u0446\u0438\u043e\u043d \u043d\u0430 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u0435")> -1)return PROCEDURE_TYPE_AUC_ASC;if(method_name.indexOf("\u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0439")>-1)return PROCEDURE_TYPE_QUOTATION_REQ;if(method_name.indexOf("\u0437\u0430\u043f\u0440\u043e\u0441 \u043a\u043e\u0442\u0438\u0440\u043e\u0432\u043e\u043a")>-1)return PROCEDURE_TYPE_PRICELIST_REQ;if(method_name.indexOf("\u043a\u0432\u0430\u043b\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043e\u0442\u0431\u043e\u0440")> -1)return PROCEDURE_TYPE_QUALIFICATION;return false} function isSigleMethodSupplierItem(method_name){method_name=method_name.toLocaleLowerCase();if(method_name.indexOf("\u0443 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430")>-1)return true;if(method_name.indexOf("\u0441 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a")>-1)return true;if(method_name.indexOf("\u043f\u0440\u044f\u043c\u0430\u044f \u0437\u0430\u043a\u0443\u043f\u043a\u0430")> -1)return true;return false}function isContragentOosUser(){return!isEmpty(Main.contragent.oos_login)&&!isEmpty(Main.contragent.oos_password)}function urlBase64ToUint8Array(base64String){var padding="=".repeat((4-base64String.length%4)%4);var base64=(base64String+padding).replace(/\-/g,"+").replace(/_/g,"/");var rawData=window.atob(base64);var outputArray=new Uint8Array(rawData.length);for(var i=0;i0&&procedureData.lots[0]["lot_customers"]&&procedureData.lots[0]["lot_customers"].length>0)Ext.iterate(procedureData.lots[0]["lot_customers"],function(item){if(item&&item["id"]==Main.user.contragent_id)is_customer=true});return is_customer} function renderStatusIcon(status_class){return''} function showAdditionalSuppliersStatusByLotData(lot_id,lot_number,lot_registry_number){var wnd=new Ext.Window({closeAction:"close",width:800,modal:true,height:400,layout:"fit",title:"\u041f\u043e\u0434\u043f\u0438\u0441\u044c \u0437\u0430\u044f\u0432\u043a\u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430\u043c\u0438 \u043f\u043e \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0435 "+lot_registry_number+" \u041b\u043e\u0442 \u2116"+lot_number,items:[{xtype:"Application.components.ApplicationAdditionalSuppliersStatusGrid", lot_id:lot_id,supplier_id:Main.user.contragent_id}],buttonAlign:"left",fbar:[{icon:"/images/icons/silk/arrow_refresh.png",handler:function(){wnd.items.get(0).getStore().reload()}},"->",{text:"\u0417\u0430\u043a\u0440\u044b\u0442\u044c",handler:function(){wnd.close()}}]});wnd.show()}function getUserAgent(){return navigator.userAgent.toLowerCase()}function generateBrowserFingerPrint(){return GostHash(getUserAgent()+gettime())} function updateBrowserFingerprintOwner(userId){var fingerprint=getBrowserFingerprint(0);saveBrowserFingerprint(userId,fingerprint)}function getBrowserFingerprintCookieName(userId){return"fingerprint_user_"+(userId||Main.user.id||0)}function saveBrowserFingerprint(userId,value){var cookieName=getBrowserFingerprintCookieName(userId);var cookieLifetimeYears=100;var expire=new Date;expire.setFullYear(expire.getFullYear()+cookieLifetimeYears);Ext.util.Cookies.set(cookieName,value,expire)} function getBrowserFingerprint(userId,onlyStored){var cookieName=getBrowserFingerprintCookieName(userId);var value=Ext.util.Cookies.get(cookieName);if(isEmpty(value)&&!onlyStored){value=generateBrowserFingerPrint();saveBrowserFingerprint(userId,value)}return value} function formatSupArray(suppliers,currency){var suppliers_store=[];for(i=0;i0)str+="("+additional_suppliers_array.join(", ")+")";if(t.price){str+= " ("+Ext.util.Format.formatPrice(t.price);if(t.pref_price&&t.price!=t.pref_price)str+="/"+Ext.util.Format.formatPrice(t.pref_price);str+=" "+renderCurrencySign(currency.name)+")"}suppliers_store.push([t.id,str,t.position||999])}suppliers_store.sort(function(a,b){return a[2]-b[2]});return suppliers_store};Ext.ns("App.Crypto"); App.Crypto.Factory=Ext.extend(Object,{default_plugin:"cades",cookie_name:"crypto_plugin",user_certificate:null,current_plugin:null,api:{capicom:null,cades_sync:null,cades_async:null},constructor:function(plugin){this.default_plugin=plugin||this.default_plugin;this.activateNonePlugin()},showSingingMethodDialog:function(){var abstract=new App.Crypto.Abstract;abstract.selectSigningMethod({},function(){})},init:function(successCallback,errorCallback){var cmp=this;try{cmp.api["capicom"]=!!bowser.msie|| !!bowser.msedge?new App.Crypto.Capicom:false;cmp.api["noeds"]=new App.Crypto.NoEds;var canPromise=!!window.Promise;if(canPromise&&cadesplugin.then!==undefined)cadesplugin.then(function(){if(cadesplugin.CreateObjectAsync)cmp.api["cades_async"]=new App.Crypto.CadesAsync(cadesplugin);else cmp.api["cades_sync"]=new App.Crypto.CadesSync(cadesplugin);return successCallback()},function(err){cmp.api["cades_sync"]=false;cmp.api["cades_async"]=false;return successCallback()});else{window.addEventListener("message", function(event){if(event.data=="cadesplugin_loaded"){cmp.api["cades_sync"]=new App.Crypto.CadesSync(cadesplugin);return successCallback()}else if(event.data=="cadesplugin_load_error"){cmp.api["cades_sync"]=false;cmp.api["cades_async"]=false;return successCallback()}},false);window.postMessage("cadesplugin_echo_request","*")}}catch(err){throw err;}return true},activateDefaultPlugin:function(load_from_cookie){var plugin;var cookie_plugin=Ext.util.Cookies.get(this.cookie_name);if(window.Main&&Main.eds&& Main.eds.mode=="none")plugin="noeds";else{var possible_plugin;if(this.default_plugin=="cades")if(!this.isCadesAvailable())if(!!bowser.msie||!!bowser.msedge)possible_plugin="capicom";else possible_plugin="none";else possible_plugin="cades";else possible_plugin=this.default_plugin;if(cookie_plugin)if(this.getAvailableMethods().indexOf(cookie_plugin)>-1)plugin=cookie_plugin;else plugin=possible_plugin;else plugin=possible_plugin}this.activatePlugin(plugin)},isMethodEnabled:function(plugin_name){if(plugin_name== "cades")return!!this.api["cades_sync"]||!!this.api["cades_async"];return!!this.api[plugin_name]},activateNonePlugin:function(){window.CryptoApi=new App.Crypto.Abstract},getCurrentPlugin:function(){return this.current_plugin},isCadesAvailable:function(){return!!this.api["cades_sync"]||!!this.api["cades_async"]},getAvailableMethods:function(){var result=[];Ext.iterate(this.api,function(key,item){if(!!item)result.push(key)});return result},activatePlugin:function(plugin){var cmp=this;var plugin_title= plugin;if(plugin=="cades")if(cmp.api["cades_async"])plugin="cades_async";else if(cmp.api["cades_sync"])plugin="cades_sync";if(!cmp.api[plugin])return false;window.CryptoApi=cmp.api[plugin];this.current_plugin=plugin_title;var link=Ext.get("siging_method_link");Ext.util.Cookies.set(this.cookie_name,plugin_title);if(link)if(plugin_title=="cades"){link.dom.innerHTML="\u041d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u042d\u041f";link.removeClass("link-warning"); link.addClass("link-ok")}else if(plugin_title=="capicom"){link.dom.innerHTML="\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u042d\u041f";link.addClass("link-warning")}else{link.dom.innerHTML="\u0412\u044b\u0431\u043e\u0440 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u0438\u044f";link.removeClass("link-warning"); link.removeClass("link-ok")}return true},clearUserCertificate:function(){this.user_certificate=null}});Ext.ns("Main.stores");function getCountriesStore(autoload,id){id=id||"Countries";return getStore(id,{storeId:id,directFn:RPC.Reference.list,paramsAsHash:true,autoLoad:!!autoload,idProperty:"iso_nr",root:"rows",totalProperty:"totalCount",fields:["iso_nr","name","alpha2","alpha3","eng_title"],sortInfo:{field:"rus_title",direction:"ASC"},baseParams:{extrafields:["alpha2","alpha3","eng_title"],reftype:"IsoCountries",idfield:"iso_nr",namefield:"rus_title"},remoteSort:true})} function getRegionStore(){return getStore("regions",{storeId:"regions",directFn:RPC.Reference.list,paramsAsHash:true,autoLoad:false,idProperty:"id",root:"rows",totalProperty:"totalCount",fields:["id","name"],sortInfo:{field:"name_full",direction:"ASC"},baseParams:{reftype:"Regions",idfield:"id",namefield:"name_full"},remoteSort:true})} function createOkatoStore(){var store=new Ext.data.DirectStore({directFn:RPC.Reference.okato,paramsAsHash:true,root:"rows",totalProperty:"totalCount",fields:["name"],sortInfo:{field:"code",direction:"ASC"},baseParams:{limit:"10"},remoteSort:true});return store} function createZonesStore(type,params,remote_sort){var store=new Ext.data.DirectStore({directFn:RPC.Reference.zones,paramsAsHash:true,root:"rows",totalProperty:"totalCount",fields:["name","id"],sortInfo:{field:"name",direction:"ASC"},baseParams:{reftype:type,params:params},remoteSort:remote_sort||false});return store} function createRegionsStore(params,realOnly){return getStore("regions_list",{directFn:RPC.Reference.regionslist,paramsAsHash:true,root:"rows",totalProperty:"totalCount",fields:["id","code","name","vocab_okato_code"],sortInfo:{field:"id",direction:"ASC"},baseParams:{params:params},remoteSort:true,autoLoad:true})} function createLogStore(type,procedure_id){var direct_fn=RPC.Log.index;if(type=="procedure")direct_fn=RPC.Log.procedurelog;var store=new Ext.data.DirectStore({directFn:direct_fn,paramsAsHash:true,autoSave:true,root:"entries",totalProperty:"totalCount",fields:["id","pseudo","username",{name:"timestamp",type:"date",dateFormat:"c"},"status","message","company","lot_number","event_eds","registry_number"],sortInfo:{field:"timestamp",direction:"DESC"},baseParams:{logtype:type,procedure_id:procedure_id}, remoteSort:true});return store}function createAdditionalSuppliersStore(lot_id,applicant_supplier_id){var store=new Ext.data.DirectStore({directFn:RPC.Applic.getAdditionalSuppliers,paramsAsHash:true,autoLoad:true,autoSave:true,root:"records",idProperty:"id",fields:["id","supplier_id","full_name","status","date_signed","is_additional"],sortInfo:{field:"id",direction:"ASC"},baseParams:{lot_id:lot_id,supplier_id:applicant_supplier_id},remoteSort:false});return store} function createOosStore(filter_key,filter_value){var direct_fn=RPC.Log.ooslog;var store=new Ext.data.DirectStore({directFn:direct_fn,paramsAsHash:true,autoSave:true,root:"entries",idProperty:"id",totalProperty:"totalCount",fields:["id","event",{name:"date_event",type:"date",dateFormat:"c"},"response","guid","details","direction_to","url_oos","url_xml","url_xml_confirm","procedure_registry_number","type","handle","payload_time","title_suffix","response_data"],sortInfo:{field:"id",direction:"DESC"}, baseParams:{filter_key:filter_key,filter_value:filter_value},remoteSort:true});return store} function createUserStore(directFn,sParams){var store=new Ext.data.DirectStore({directFn:eval(directFn),paramsAsHash:true,autoSave:true,root:"rows",idProperty:"id",totalProperty:"totalCount",fields:["id","username","user_email","user_job","status","first_name","middle_name","last_name","certificate","secret_phraze","user_type",{name:"date_added",type:"date",dateFormat:"c"},{name:"date_last_update",type:"date",dateFormat:"c"},"company","contragent_id","status_name"],sortInfo:{field:"date_added",direction:"ASC"}, baseParams:merge_options(sParams,{limit:50}),remoteSort:true});return store} function createAdminUserStore(directFn,sParams){var store=new Ext.data.DirectStore({directFn:eval(directFn),paramsAsHash:true,autoSave:true,root:"rows",idProperty:"id",totalProperty:"totalCount",fields:["id","user_email","user_job","status","first_name","middle_name","last_name",{name:"date_added",type:"date",dateFormat:"c"},"status_name","accred_id"],sortInfo:{field:"date_added",direction:"ASC"},baseParams:merge_options(sParams,{limit:50}),remoteSort:true});return store} function createAccreditationStore(type){var store=new Ext.data.DirectStore({directFn:RPC.Accreditation.index,paramsAsHash:true,autoSave:true,root:"rows",idProperty:"id",totalProperty:"totalCount",fields:["id","contragent_id","inn","kpp","date","full_name","email"],sortInfo:{field:"date",direction:"ASC"},baseParams:{type:type,limit:"50"},remoteSort:true});return store} function createAccreditationDeclinedStore(type){return getStore("accreditation_declined",{storeId:"accreditation_declined",directFn:RPC.Accreditation.declined,paramsAsHash:true,autoDestroy:true,idProperty:"id",root:"rows",totalProperty:"totalCount",fields:["id","contragent_id","inn","full_name","reason_declined","operator_name"],baseParams:{type:type}})} function createUserAccreditationStore(){var store=new Ext.data.DirectStore({directFn:RPC.Accreditation.users,paramsAsHash:true,autoSave:true,root:"rows",idProperty:"id",totalProperty:"totalCount",fields:["id","first_name","middle_name","last_name","user_email","role","status","date","user_job"],sortInfo:{field:"date",direction:"ASC"},baseParams:{limit:"50"},remoteSort:true});return store} function getProfileStore(basic_group_value){var store=new Ext.data.DirectStore({storeId:"profile_types_"+basic_group_value,directFn:RPC.Company.loadprofiles,paramsAsHash:true,baseParams:{cmp_group:basic_group_value},idProperty:"id",root:"profiles",totalProperty:"totalCount",fields:["id","name"]});return store} function getContragentStoreByInn(inn){var cmpStore=new Ext.data.DirectStore({storeId:"profile_types",directFn:RPC.Company.search,paramsAsHash:true,autoLoad:false,params:{inn:inn},fields:["rowid","inn","kpp","full_name","display_field","small_biz"]});return cmpStore} function getContragentStoreByName(){var store=new Ext.data.DirectStore({directFn:RPC.Company.searchByNameForRepresentatives,paramsAsHash:true,totalProperty:"totalCount",fields:["rowid","full_name"],baseParams:{limit:"10"},remoteSort:true});return store} function getApiResourcesStore(){return getStore("api_resources",{autoLoad:true,api:{read:RPC.Acl.apiResourcesIndex,create:RPC.Acl.apiResourcesUpdate,update:RPC.Acl.apiResourcesUpdate,destroy:RPC.Acl.apiResourcesDelete},sortInfo:{field:"url",direction:"ASC"},writer:new Ext.data.JsonWriter({encode:false,writeAllFields:true}),idProperty:"id",autoSave:false,paramsAsHash:true,root:"resources",fields:["id","module","controller","action","descr",{name:"log",type:"bool"},{name:"url",convert:function(v,record){return record.module+ "/"+record.controller+"/"+record.action}}]})} function getGuiResourcesStore(){return getStore("gui_resources",{autoLoad:true,api:{read:RPC.Acl.guiResourcesIndex,create:RPC.Acl.guiResourcesUpdate,update:RPC.Acl.guiResourcesUpdate,destroy:RPC.Acl.guiResourcesDelete},sortInfo:{field:"url",direction:"ASC"},writer:new Ext.data.JsonWriter({encode:false,writeAllFields:true}),idProperty:"id",autoSave:false,paramsAsHash:true,root:"resources",fields:["id","url","descr","icon","menupath",{name:"weight",type:"int"}]})} function getRolesStore(){return getStore("roles",{autoLoad:true,api:{read:RPC.Acl.roleIndex,create:RPC.Acl.roleUpdate,update:RPC.Acl.roleUpdate,destroy:RPC.Acl.roleDelete},writer:new Ext.data.JsonWriter({encode:false,writeAllFields:true}),idProperty:"id",autoSave:false,paramsAsHash:true,root:"roles",fields:["id","name","code","actual","user_role","operator_role","customer_role","supplier_role"]})} function getCurrencyStore(store_id,add_empty){store_id=store_id||"currency";return getStore(store_id,{autoLoad:true,directFn:RPC.Reference.currency,baseParams:{add_empty:!!add_empty},idProperty:"id",root:"currency",fields:["id","name","description","country_id","alpha2","alpha3"]})} function getLotStore(procedure_id){var lot_store=new Ext.data.DirectStore({autoLoad:true,directFn:RPC.Lot.list,sortInfo:{field:"id",direction:"ASC"},baseParams:{procedure:procedure_id},idProperty:"id",paramsAsHash:true,root:"lots",fields:["id","subject","guarantee_application","lot_customers","start_price"]});return lot_store} function getTimezonesStore(){return getStore("timezones",{directFn:RPC.Index.timezones,paramsAsHash:true,autoLoad:true,root:"rows",idProperty:"phptz",fields:["phptz","name"]})} function createRepresentationRightsStore(requests){var rights_store=new Ext.data.DirectStore({autoLoad:true,directFn:RPC.Company.representationRightsList,root:"rows",sortInfo:{field:"id",direction:"ASC"},baseParams:{requests:requests},idProperty:"id",paramsAsHash:true,fields:["id","date","valid_for","full_name","status","representative_id","contragent_id"]});return rights_store} function createRepresentedRightsStore(requests){var rights_store=new Ext.data.DirectStore({autoLoad:true,directFn:RPC.Company.representedRightsList,root:"rows",sortInfo:{field:"id",direction:"ASC"},baseParams:{requests:requests},idProperty:"id",paramsAsHash:true,fields:["id","date","valid_for","full_name","status","representative_id","contragent_id","is_own_procedures_visible"]});return rights_store} function createApplicStore(directFn,sParams,advFields){var fields=["id","status","lot_id","procedure_id","procedure_title","lot_status","lot_number","order_number_assigned","status_text","frm",{name:"date_added",type:"date",dateFormat:"c"},{name:"time_added",type:"date",dateFormat:"c"},{name:"is_additional_supplier",type:"boolean"},{name:"is_additional_apply",type:"boolean"}];for(var el in advFields)if(advFields.hasOwnProperty(el))fields.push(advFields[el]);var store=new Ext.data.DirectStore({directFn:directFn, paramsAsHash:true,root:"rows",idProperty:"id",totalProperty:"totalCount",autoSave:true,fields:fields,sortInfo:{field:"date_added",direction:"DESC"},baseParams:sParams,remoteSort:true});return store} function createMailLogStore(sParams){var store=new Ext.data.DirectStore({directFn:RPC.Log.maillist,paramsAsHash:true,root:"entries",idProperty:"id",totalProperty:"totalCount",autoSave:true,fields:["id",{name:"datetime_sent",type:"date",dateFormat:"c"},"subject","email","contragent_fullname","user_fullname","contragent_id","user_id","emailed"],sortInfo:{field:"datetime_sent",direction:"DESC"},baseParams:sParams,remoteSort:true});return store} function createCompanyByType(company_type){var store=new Ext.data.DirectStore({directFn:RPC.Admin.getcompanies,paramsAsHash:true,root:"entries",idProperty:"id",fields:["id","full_name","inn"],sortInfo:{field:"full_name",direction:"ASC"},baseParams:{type:company_type},remoteSort:true});return store} function createProcLotStore(params){var store=new Ext.data.DirectStore({directFn:RPC.Admin.getproclot,paramsAsHash:true,root:"entries",idProperty:"id",fields:["id","procedure_id","proc_lot_descr"],sortInfo:{field:"proc_lot_descr",direction:"ASC"},baseParams:params});return store} function createCompanyStore(type,autoLoad,limit,listeners){var store=new Ext.data.DirectStore({directFn:RPC.Company.list,paramsAsHash:true,autoSave:true,autoLoad:!!autoLoad,root:"entries",idProperty:"id",totalProperty:"totalCount",fields:["id","guid","full_name","short_name","customer_profile_name","supplier_profile_name","status","inn","kpp","rnp","tariff_title",{name:"date_added",type:"date",dateFormat:"c"},"block_reason","account","email","deposit","deposit_blocked","avail_sum"],sortInfo:{field:"id", direction:"ASC"},baseParams:{type:type||false,limit:limit||"50"},listeners:listeners,remoteSort:true});return store} function createPlansStore(contragent_id,autoload){var store=new Ext.data.DirectStore({directFn:RPC.Plan.list,paramsAsHash:true,autoLoad:autoload||false,root:"rows",idProperty:"id",totalProperty:"totalCount",fields:["guid",{name:"create_date_time",type:"date"},"registration_number",{name:"start_date",type:"date"},{name:"end_date",type:"date"},{name:"approve_date",type:"date"},"name","customer","customer_short_name",{name:"publication_date_time",type:"date"},"version"],sortInfo:{field:"customer_short_name", direction:"ASC"},baseParams:{contragent_id:contragent_id,limit:"50"},remoteSort:true});return store}function createPlanContragentFilterStore(contragent_id,include_all){var store=new Ext.data.DirectStore({directFn:RPC.Plan.representsList,paramsAsHash:true,autoLoad:true,root:"rows",idProperty:"id",fields:["id","name","inn"],sortInfo:{field:"id",direction:"ASC"},baseParams:{contragent_id:contragent_id,include_all:!!include_all,limit:"50"},remoteSort:true});return store} function createPlanItemsStore(plan_guid){var store=new Ext.data.DirectStore({directFn:RPC.Plan.planItems,paramsAsHash:true,autoLoad:false,root:"rows",idProperty:"id",totalProperty:"totalCount",fields:["guid","ordinal_number","contract_subject",{name:"contract_end_date",type:"date"},{name:"purchase_planned_date",type:"date"},"maximum_contract_price","plan_item_customer_id","plan_item_customer","plan_guid","plan_registration_number","purchase_method_name","purchase_period_quarter","purchase_period_month", "purchase_period_year","status","plan_purchase_item_rows","purchase_method_code","is_electronic","long_term","currency","region","is_purchase_ignored","purchase_category","plan_name",{name:"plan_publication_date",type:"date"}],sortInfo:{field:"ordinal_number",direction:"ASC"},baseParams:{plan_guid:plan_guid,limit:"50"},remoteSort:true});return store} function createDigitalPoasStore(user_id){var store=new Ext.data.DirectStore({directFn:RPC.Digitalpoa.list,paramsAsHash:true,autoLoad:false,root:"rows",idProperty:"id",totalProperty:"totalCount",fields:["id","guid","internal_number","issued_at","issued_till"],sortInfo:{field:"id",direction:"DESC"},baseParams:{user_id:user_id,limit:"50"},remoteSort:true});return store} function createProfilesStore(cmp_group){var store=new Ext.data.DirectStore({directFn:RPC.Company.loadprofiles,paramsAsHash:true,reader:new Ext.data.ArrayReader({idIndex:0,fields:[{"mapping":"id","name":"id","id":"id"},{"mapping":"name","name":"name","id":"name"}],root:"profiles"}),baseParams:{cmp_group:cmp_group}});return store} function createSupplierCompanyStore(){return new Ext.data.DirectStore({directFn:RPC.Company.supplierlist,paramsAsHash:true,autoSave:true,autoLoad:true,root:"entries",idProperty:"id",totalProperty:"totalCount",fields:["id","full_name","supplier_profile_name","status","inn","kpp",{name:"date_added",type:"date",dateFormat:"c"},{name:"supplier_accred_date",type:"date",dateFormat:"c"},"supplier_accred_status"],sortInfo:{field:"id",direction:"ASC"},baseParams:{limit:"25"},remoteSort:true})} function createEvadedSuppliersStore(type){var store=new Ext.data.DirectStore({directFn:RPC.Company.evadedList,paramsAsHash:true,autoSave:true,root:"suppliers",idProperty:"lot_id"+"id",totalProperty:"totalCount",fields:["id","lot_id","procedure_id","inn","full_name","customer","registry_number","guarantee","customer_fee","subject","show_links","blocks_count","supplier_id"],sortInfo:{field:"full_name",direction:"ASC"},baseParams:{type:type,limit:"50"},remoteSort:true});return store} function createContragentApplicationsListStore(supplierId){var store=new Ext.data.DirectStore({directFn:RPC.Finance.operations,paramsAsHash:true,reader:new Ext.data.JsonReader({idProperty:"id",messageProperty:"message",fields:[{name:"id",mapping:"id"},{name:"supplier",mapping:"supplier_id"},{name:"text",convert:function(v,record){return record.registry_number+", \u043b\u043e\u0442 \u2116"+record.lot_number}},{name:"regNum",mapping:"registry_number"},{name:"lotNum",mapping:"lot_number"},{name:"procedureId", mapping:"procedure_id"},{name:"lotId",mapping:"lot_id"},{name:"contractSupplierId",mapping:"contract_supplier_id"}],root:"applications"}),autoLoad:true,remoteSort:false,baseParams:{supplier:supplierId,request:"LIST"}});return store} function createBannedContragentsStore(){var store=new Ext.data.DirectStore({directFn:RPC.Company.banList,paramsAsHash:true,autoSave:true,root:"rows",idProperty:"id",totalProperty:"totalCount",fields:["id","full_name","inn","kpp"],sortInfo:{field:"full_name",direction:"ASC"},baseParams:{limit:"50"},remoteSort:true});return store} function createExpireContragentsStore(){var store=new Ext.data.DirectStore({directFn:RPC.Company.expireList,paramsAsHash:true,autoSave:true,root:"rows",idProperty:"id",totalProperty:"totalCount",fields:["id","full_name","inn","kpp",{name:"valid_for",type:"date",dateformat:"c"}],sortInfo:{field:"full_name",direction:"ASC"},baseParams:{limit:"50"},remoteSort:true});return store} function createProcedureShortListStore(params){var store=new Ext.data.DirectStore({directFn:RPC.Procedure.getShortList,paramsAsHash:true,reader:new Ext.data.JsonReader({idProperty:"id",fields:[{name:"id",mapping:"id"},{name:"regNum",mapping:"registry_number"},{name:"title",mapping:"title"},{name:"lots",mapping:"lots_id"},{name:"summary",convert:function(v,record){return record.registry_number+" ("+record.title+")"}}],root:"procedures"}),sortInfo:{field:"registry_number",direction:"ASC"},remoteSort:true, baseParams:Ext.apply({limit:20},params||{})});return store} function createFiscalDocsGridStore(params){var store=new Ext.data.DirectStore({directFn:RPC.Admin.searchdocs,paramsAsHash:true,remoteSort:true,autoLoad:true,reader:new Ext.data.JsonReader({root:"docs",idProperty:"id",totalProperty:"totalCount",fields:["id","full_name","price","registry_number","customer","number",{name:"date_forwarded",type:"date",dateFormat:"Y-m-d"},{name:"date_signed",type:"date",dateFormat:"Y-m-d"},"inn","kpp","prefer_stamped_docs","supplier_id","account","customer_id","order_id", "printed","number",{name:"date_generated",type:"date",dateFormat:"Y-m-d"}]}),sortInfo:{field:"date_generated",direction:"DESC"},listeners:{load:function(store,records,opts){}}});return store} function getGuaranteeAdvanceTypesStore(){return getStore("guarantee_advance_types",{fields:["id","name"],data:[[1,"\u0414\u043e \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430"],[2,"\u0421 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430"]]},"ArrayStore")} function getMonthNamesStore(){return getStore("month_names",{id:0,fields:[{name:"id",type:"integer"},{name:"name",type:"string"}],data:[[1,"\u042f\u043d\u0432\u0430\u0440\u044c"],[2,"\u0424\u0435\u0432\u0440\u0430\u043b\u044c"],[3,"\u041c\u0430\u0440\u0442"],[4,"\u0410\u043f\u0440\u0435\u043b\u044c"],[5,"\u041c\u0430\u0439"],[6,"\u0418\u044e\u043d\u044c"],[7,"\u0418\u044e\u043b\u044c"],[8,"\u0410\u0432\u0433\u0443\u0441\u0442"],[9,"\u0421\u0435\u043d\u0442\u044f\u0431\u0440\u044c"],[10,"\u041e\u043a\u0442\u044f\u0431\u0440\u044c"], [11,"\u041d\u043e\u044f\u0431\u0440\u044c"],[12,"\u0414\u0435\u043a\u0430\u0431\u0440\u044c"]]},"ArrayStore")} function getStore(store_id,store_config,store_type){var store=Ext.StoreMgr.get(store_id);if(!store){if(!store_type)store_type="DirectStore";store_config["listeners"]=store_config["listeners"]||{};if(!store_config["listeners"]["load"])store_config["listeners"]={"load":function(store,records,options){store.loaded=true}};store=new Ext.data[store_type](store_config);Ext.StoreMgr.add(store_id,store)}return store} function getProcedureHistoryStore(procedure_id){var store=new Ext.data.DirectStore({directFn:RPC.Procedure.history,paramsAsHash:true,groupField:"lot_id",remoteSort:false,autoLoad:true,baseParams:{procedure:procedure_id},sortInfo:{field:"date",direction:"DESC"},reader:new Ext.data.JsonReader({root:"entries",totalProperty:"totalCount",fields:["field","from","lot_id","to","user",{name:"date",type:"date",dateFormat:"c"}]})});return store} function getCompanyHistoryStore(company_id){var store=new Ext.data.DirectStore({directFn:RPC.Company.history,paramsAsHash:true,remoteSort:true,autoLoad:true,baseParams:{company:company_id},reader:new Ext.data.JsonReader({root:"entries",totalProperty:"totalCount",fields:["field","from","to","user","record_data","record_name",{name:"date",type:"date",dateFormat:"c"}]})});return store} function createInvitesLogStore(){var store=new Ext.data.DirectStore({directFn:RPC.Log.inviteslog,paramsAsHash:true,root:"rows",idProperty:"id",totalProperty:"totalCount",fields:["id","subject",{name:"date_sent",type:"date",dateFormat:"c"},"username"],sortInfo:{field:"date_sent",direction:"DESC"},remoteSort:true});return store} function createUserRolesStore(){var store=new Ext.data.DirectStore({directFn:RPC.User.loaduserroles,paramsAsHash:true,reader:new Ext.data.ArrayReader({idIndex:0,fields:["id","name"],root:"userroles"})});return store} function createFiscalDoscStore(sParams){var store=new Ext.data.DirectStore({directFn:RPC.Finance.fiscaldocslist,paramsAsHash:true,root:"docs",idProperty:"id",totalProperty:"totalCount",autoSave:true,fields:["id","registry_number","price","customer","number","date_forwarded","date_signed","date_signed","date_forwarded",{name:"date_generated",type:"date",dateFormat:"Y-m-d"}],sortInfo:{field:"id",direction:"DESC"},baseParams:sParams,remoteSort:true});return store} function createTariffActivationsStore(sParams){var store=new Ext.data.DirectStore({directFn:RPC.Tariff.activationsLog,paramsAsHash:true,root:"rows",idProperty:"id",totalProperty:"totalCount",autoSave:true,fields:["id","contragent","tariff_title","period_days","operation_type_desc","signature",{name:"timestamp",type:"date"}],sortInfo:{field:"id",direction:"DESC"},baseParams:sParams,remoteSort:true});return store} function createEtpPeersStore(){var store=new Ext.data.DirectStore({directFn:RPC.Admin.etppeerslist,paramsAsHash:true,root:"entries",idProperty:"id",totalProperty:"totalCount",fields:["id","name","code","endpoint","type"],sortInfo:{field:"id",direction:"ASC"},remoteSort:true});return store} function getVATStore(){return getStore("VATStore",{id:0,storeId:"VATStore",fields:[{name:"id",type:"float"},{name:"name",type:"string"}],data:[[0,"0%"],[10,"10%"],[18,"18%"],[20,"20%"],[-1,"\u0421\u043e\u0441\u0442\u0430\u0432\u043d\u043e\u0439 \u041d\u0414\u0421"]]},"ArrayStore")} function getOkeiSimpleStore(){return getStore("okeiSimpleStore",{id:0,storeId:"okeiSimpleStore",fields:["id","name"],data:[[6,"\u041c"],[3,"\u041c\u041c"],[4,"\u0421\u041c"],[5,"\u0414\u041c"],[8,"\u041a\u041c (\u0422\u042b\u0421 \u041c)"],[18,"\u041f\u041e\u0413 \u041c"],[19,"\u0422\u042b\u0421 \u041f\u041e\u0413 \u041c"],[20,"\u0423\u0421\u041b \u041c"],[39,"\u0414\u042e\u0419\u041c"],[55,"\u041c2"],[59,"\u0413\u0410"],[61,"\u041a\u041c2"],[113,"\u041c3"],[114,"\u0422\u042b\u0421 \u041c3"],[112, "\u041b"],[116,"\u0414\u041a\u041b"],[163,"\u0413"],[166,"\u041a\u0413"],[168,"\u0422"],[169,"\u0422\u042b\u0421 \u0422"],[171,"\u041c\u041b\u041d \u0422"],[673,"\u0422\u042b\u0421 \u041a\u041e\u041c\u041f\u041b"],[616,"\u0411\u041e\u0411"],[625,"\u041b\u0418\u0421\u0422"],[642,"\u0415\u0414"],[736,"\u0420\u0423\u041b"],[778,"\u0423\u041f\u0410\u041a"],[796,"\u0428\u0422"],[798,"\u0422\u042b\u0421 \u0428\u0422"],[839,"\u041a\u041e\u041c\u041f\u041b"],[868,"\u0411\u0423\u0422"],[876,"\u0423\u0421\u041b \u0415\u0414"]]}, "ArrayStore")}function getOkeiStore(){return getStore("okeiStore",{directFn:RPC.Reference.list,paramsAsHash:true,idProperty:"code",root:"rows",autoLoad:true,totalProperty:"totalCount",fields:["id","code","symbol","name"],sortInfo:{field:"symbol",direction:"ASC"},baseParams:{table:"list",reftype:"Okei",idfield:"code",namefield:"name",notempty:true,extrafields:["symbol"]},remoteSort:true})} function getPurchaseMethodStoreForPlan(plan_guid,contragent_id){return getStore("purchaseMethodStoreForPlan",{storeId:"purchaseMethodStore_"+plan_guid,directFn:RPC.Reference.purchasemethod,autoLoad:false,paramsAsHash:true,autoDestroy:false,idProperty:"id",baseParams:{plan_guid:plan_guid,contragent_id:contragent_id||null},root:"rows",totalProperty:"totalCount",fields:["id","code","name","order_clause_id"],sortInfo:{field:"order_clause_id",direction:"ASC"},remoteSort:true})} function getPurchaseMethodStore(is_electronic,contragent_id){var key=["purchaseMethodStore"];key.push(contragent_id||"active");if(is_electronic)key.push("electronic");return getStore(key.join("_"),{storeId:"purchaseMethodStore",directFn:RPC.Reference.purchasemethod,autoLoad:false,paramsAsHash:true,autoDestroy:false,idProperty:"id",baseParams:{is_electronic:is_electronic,contragent_id:contragent_id||null},root:"rows",totalProperty:"totalCount",fields:["id","code","name","order_clause_id"],sortInfo:{field:"order_clause_id", direction:"ASC"},remoteSort:true})}function getWeekStore(numWeeks){if(!numWeeks)numWeeks=10;var weekData=[[0,"\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e"]],i=0;for(i=1;i<=numWeeks;i++)weekData.push([i,i+" \u043d\u0435\u0434."]);return getStore("weekStore"+numWeeks,{id:0,storeId:"weekStore"+numWeeks,fields:["id","name"],data:weekData},"ArrayStore")} function getConditionStore(){return getStore("conditionStore",{storeId:"conditionStore",directFn:RPC.Reference.list,paramsAsHash:true,autoDestroy:true,idProperty:"id",root:"rows",totalProperty:"totalCount",fields:["id","name"],sortInfo:{field:"name",direction:"ASC"},baseParams:{limit:"10",reftype:"Condition",idfield:"id",namefield:"name"},remoteSort:true})} function getNomenclatureStore(){return getStore("okpStore",{storeId:"okpStore",directFn:RPC.Reference.nomenclature,paramsAsHash:true,autoDestroy:true,idProperty:"id",root:"rows",totalProperty:"totalCount",fields:["id","text"],baseParams:{type:"okp",node:"0",for_combo:true}})} function createHolidaysStore(){var store=new Ext.data.DirectStore({directFn:RPC.Admin.holidayslist,paramsAsHash:true,root:"entries",idProperty:"id",totalProperty:"totalCount",fields:["id","date","is_workday"],sortInfo:{field:"date",direction:"ASC"},remoteSort:true});return store} function createOffersLogStore(lot_id){var store=new Ext.data.DirectStore({directFn:RPC.Log.offerslog,paramsAsHash:true,autoSave:true,root:"data",idProperty:"id",totalProperty:"totalCount",fields:["id","supplier","price","is_additional_offer",{name:"date_added",convert:function(v){return parseDate(v)}}],baseParams:{lot_id:lot_id},remoteSort:true});return store} function createShareAccessStore(user_id){var store=new Ext.data.DirectStore({api:{read:RPC.User.getorguserslist,create:RPC.User.updateorguserslist,update:RPC.User.updateorguserslist},autoLoad:true,autoDestroy:true,autoSave:false,paramsAsHash:true,root:"data",idProperty:"id",totalProperty:"totalCount",fields:["id","user","choose"],baseParams:{user_id:user_id},remoteSort:true,listeners:{}});return store} function createShareProcAccessStore(proc_id){var store=new Ext.data.DirectStore({api:{read:RPC.User.getprocuserslist,create:RPC.User.updateprocuserslist,update:RPC.User.updateprocuserslist},autoLoad:true,autoDestroy:true,autoSave:false,paramsAsHash:true,root:"data",idProperty:"id",totalProperty:"totalCount",fields:["id","user","user_fio","company_name","choose"],baseParams:{proc_id:proc_id},remoteSort:false,listeners:{}});return store} function createIntentionsStore(list_type){var store_fields=["lot_id","registry_number","procedure_title","lot_number"];if(["my","list"].indexOf(list_type)>=0)store_fields.push({name:"date_added",type:"date",dateFormat:"c"});if("list"==list_type)store_fields.push("supplier_inn","supplier_name");if("procs"==list_type)store_fields.push("intentions_count");var store=new Ext.data.DirectStore({directFn:RPC.Applic.intentionslist,paramsAsHash:true,autoSave:true,root:"rows",idProperty:"id",totalProperty:"totalCount", fields:store_fields,baseParams:{list_type:list_type},remoteSort:true});return store}function createDepartmentsStore(){var store=new Ext.data.DirectStore({directFn:RPC.User.departmentlist,paramsAsHash:true,autoSave:true,root:"rows",idProperty:"id",totalProperty:"totalCount",fields:["id","name"],remoteSort:true});return store} function createUsersShortStore(company_id){return getStore("users_short_store",{storeId:"users_short_store",directFn:RPC.Admin.getusersshortinfo,paramsAsHash:true,root:"entries",idProperty:"id",totalProperty:"totalCount",fields:["id","user_fio","user_company","user_job"],sortInfo:{field:"user_fio",direction:"ASC"},baseParams:{company_id:company_id},remoteSort:true})} function createExpertsStore(status){var store=new Ext.data.DirectStore({directFn:RPC.User.expertslist,paramsAsHash:true,autoSave:true,root:"rows",idProperty:"id",totalProperty:"totalCount",fields:["id","company","inn","status","user_id"],sortInfo:{field:"company",direction:"ASC"},baseParams:{status:status?status:null},remoteSort:true});return store} function createVocabProcedureStepsStore(){var store=new Ext.data.DirectStore({directFn:RPC.Admin.vocabprocedurestepslist,paramsAsHash:true,root:"rows",idProperty:"id",totalProperty:"totalCount",fields:["id","pseudo","full_name"],sortInfo:{field:"status",direction:"desc"},remoteSort:true});return store}function hashToArray(hash){var result=[];for(var name in hash)if(hash.hasOwnProperty(name))result.push(hash[name]);return result} function getReferenceStore(referenceName){return getStore("reference_"+referenceName,{fields:["id","name"],data:hashToArray(Main.references[referenceName])},"JsonStore")} function createPurchasePlanItemStore(params){var store=new Ext.data.DirectStore({directFn:RPC.Purchaseplan.list,paramsAsHash:true,root:"data",idProperty:"id",totalProperty:"totalCount",autoLoad:true,fields:[{name:"id",type:"int"},{name:"plan_id",type:"int"},{name:"position_num",type:"int"},{name:"position_guid"},{name:"subject"},{name:"max_price",type:"float"},{name:"currency_name"},{name:"currency_description"},{name:"currency_code",type:"int"},{name:"purchase_method"},{name:"quantity",type:"int"}, {name:"okei_symbol"},{name:"is_smb",type:"boolean"},{name:"planned_date",type:"date"},{name:"planned_period"},{name:"oos_reg_number"},{name:"plan_name"},{name:"plan_guid"},{name:"plan_type"},{name:"date_start",type:"date"},{name:"date_end",type:"date"},{name:"date_create",type:"date"},{name:"date_approve",type:"date"},{name:"date_publish",type:"date"},{name:"lot_customer_count",type:"boolean"},{name:"lot_count",type:"boolean"},{name:"is_selected",type:"boolean"}],baseParams:params,remoteSort:true}); return store}function createListKvrStore(){return getStore("listKvr",{directFn:RPC.Reference.list,paramsAsHash:true,autoLoad:true,idProperty:"iso_nr",root:"rows",totalProperty:"totalCount",fields:["code","name"],sortInfo:{field:"code",direction:"ASC"},baseParams:{table:"list",reftype:"Kvr",idfield:"code",namefield:"name"},remoteSort:true})} function getEdoAccreditationsListStore(suffix){return getStore("edo_accreditaitons_list_"+suffix,{storeId:id,directFn:RPC.Edoaccreditation.list,paramsAsHash:true,autoLoad:false,idProperty:"id",root:"rows",totalProperty:"totalCount",sortInfo:{field:"id",direction:"desc"},fields:["id","registry_number","contragent_name","contragent_inn","contragent_kpp","status","date_resolved","edo_operator_name"],remoteSort:true})} function getReferenceStore(reference_name,store_name){store_name=store_name||reference_name+"_store";return getStore(store_name,{autoDestroy:true,autoLoad:true,idProperty:"id",fields:["id","name"],autoDestroy:false,data:Main.references[reference_name]||{}},"JsonStore")} function getEdoOperatorsStore(){return getStore("edo_operators",{storeId:id,directFn:RPC.Edooperator.list,paramsAsHash:true,autoLoad:true,idProperty:"id",root:"rows",totalProperty:"totalCount",fields:["id","name","inn","kpp"],sortInfo:{field:"name",direction:"ASC"},baseParams:{only_actual:true},remoteSort:true})} function getBasesForSmp(autoload){return getStore("BasesForSmp",{storeId:id,directFn:RPC.Reference.list,paramsAsHash:true,autoLoad:!!autoload,idProperty:"id",root:"rows",totalProperty:"totalCount",fields:["id","code","name"],sortInfo:{field:"id",direction:"ASC"},baseParams:{extrafields:["code"],reftype:"BasesForSmp",idfield:"id",namefield:"name"},remoteSort:true})};Ext.ns("Ext.ux.state"); Ext.ux.state.SSWProvider=Ext.extend(Ext.state.Provider,{constructor:function(config){Ext.ux.state.SSWProvider.superclass.constructor.call(this);this.storage=window.ssw;this.state=this.storage.get()},set:function(name,value){if(undefined===value||value===null){this.clear(name);return}this.storage.add(name,value);Ext.ux.state.SSWProvider.superclass.set.call(this,name,value)},clear:function(name){if(0==arguments.length)this.storage.clear();else this.storage.remove(name);Ext.ux.state.SSWProvider.superclass.clear.call(this,name)}});Ext.namespace("Ext.ux"); Ext.ux.FitToParent=Ext.extend(Object,{fitWidth:true,fitHeight:true,offsets:[0,0],constructor:function(config){config=config||{};if(config.tagName||config.dom||Ext.isString(config))config={parent:config};Ext.apply(this,config)},init:function(c){this.component=c;c.on("render",function(c){this.parent=Ext.get(this.parent||c.getPositionEl().dom.parentNode);if(c.doLayout){c.monitorResize=true;c.doLayout=c.doLayout.createInterceptor(this.fitSize,this)}else{this.fitSize();Ext.EventManager.onWindowResize(this.fitSize,this)}}, this,{single:true})},fitSize:function(){var pos=this.component.getPosition(true),size=this.parent.getViewSize();this.component.setSize(this.fitWidth?size.width-pos[0]-this.offsets[0]:undefined,this.fitHeight?size.height-pos[1]-this.offsets[1]:undefined)}});Ext.preg("fittoparent",Ext.ux.FitToParent);Ext.apply(Ext.util.Format,{numberFormat:{decimalSeparator:",",decimalPrecision:2,groupingSeparator:" ",groupingSize:3,hideNullDecimal:false,currencySymbol:""},getFormattedPriceFloat:function(cmpId){return Ext.getCmp(cmpId).getValue()!=""?parseFloat(Ext.getCmp(cmpId).getValue().replace(/[^\d,\.]/g,"").replace(",",".")):0},getFormattedValueFloat:function(val){return val!=""?parseFloat(val.replace(/[^\d,\.]/g,"").replace(",",".")):0},preparePriceForSubmit:function(cmpId){var cmp=Ext.getCmp(cmpId);if(cmp)cmp.setValue(cmp.getValue().replace(/[^\d,\.]/g, "").replace(",","."))},formatPriceOnTheFly:function(cmpId){var oField=Ext.get(cmpId).dom;var iCaretPos=0;if(document.selection){oField.focus();var oSel=document.selection.createRange();oSel.moveStart("character",-oField.value.length);iCaretPos=oSel.text.length}else if(oField.selectionStart||oField.selectionStart=="0")iCaretPos=oField.selectionStart;var cmp=Ext.getCmp(cmpId);var value=cmp.getValue();if(value=="")return;var sum=value.replace(/[^\d,\.]/g,"").replace(".",",");var parts=sum.split(","); var part1=parts[0];var part2="";for(var i=1;i1)ret+=","+part2.substring(0,2);if(cmp.getValue()!=ret)cmp.setValue(ret);cmp.selectText(iCaretPos,iCaretPos)},makePriceFormat:function(obj){},comboRenderer:function(combo){return function(value){var record=combo.findRecord(combo.valueField,value);return record?record.get(combo.displayField):combo.valueNotFoundText}},formatPrice:function(value, numberFormat,name){var format=Ext.apply(Ext.apply({},Ext.util.Format.numberFormat),numberFormat);var digit,decimal;if(value==null)return"";if(typeof value!=="number"){value=String(value);if(format.currencySymbol)value=value.replace(format.currencySymbol,"");if(format.groupingSeparator)value=value.replace(new RegExp(format.groupingSeparator,"g"),"");if(format.decimalSeparator!==".")value=value.replace(format.decimalSeparator,".");value=parseFloat(value)}var neg=value<0;value=Math.abs(value).toFixed(format.decimalPrecision); var i=value.indexOf(".");if(i>=0){if(format.decimalSeparator!=="."){digit=value.slice(0,i);decimal=value.slice(i+1);if(format.hideNullDecimal){value=digit;if(parseInt(decimal)>0)value=value+format.decimalSeparator+decimal}else value=digit+format.decimalSeparator+decimal}}else i=value.length;if(format.groupingSeparator)while(i>format.groupingSize){i-=format.groupingSize;value=value.slice(0,i)+format.groupingSeparator+value.slice(i)}if(format.currencySymbol)value=format.currencySymbol+value;if(neg)value= "-"+value;if(name&&Ext.isString(name))value+=" "+name;return value},formatOffersStep:function(val){return Ext.util.Format.formatPrice(val,{decimalPrecision:4})},bool:function(val){return val?"\u0414\u0430":"\u041d\u0435\u0442"},localDateRenderer:function(value){value=parseDate(value);if(!value)return"";var tz=Ext.util.Format.date(value,"Z");tz=Number(tz)/3600;if(!Main.config.show_gmt)return Ext.util.Format.date(value,"d.m.Y H:i");return Ext.util.Format.date(value,"d.m.Y H:i")+" [GMT "+(tz>0? "+":"-")+tz+"]"},localDateOnlyRenderer:function(value){value=parseDate(value);if(!value)return"";return Ext.util.Format.date(value,"d.m.Y")},localDateText:function(value){return Ext.util.Format.localDateRenderer(value).replace(" "," ")},localDateIntervalText:function(value){if(!Ext.isArray(value))value=value.split(",");return"\u0441 "+Ext.util.Format.localDateRenderer(value[0]).replace(" "," ")+" \u043f\u043e "+Ext.util.Format.localDateRenderer(value[1]).replace(" "," ")},localMonthYearOnlyRenderer:function(value){value= parseDate(value);if(!value)return"";return Ext.util.Format.date(value,"m.Y")},humanizeSize:function(bytes){var types=["\u0431","\u043a\u0431","\u041c\u0431","\u0413\u0431","\u0422\u0431"];for(var i=0;bytes>=1024&&in)return more;n=n%10;if(1==n)return one;if(2<=n&& 4>=n)return two;return more},formatInterval:function(seconds,params){var strs={d:["\u0434\u0435\u043d\u044c","\u0434\u043d\u044f","\u0434\u043d\u0435\u0439"],h:["\u0447\u0430\u0441","\u0447\u0430\u0441\u0430","\u0447\u0430\u0441\u043e\u0432"],m:["\u043c\u0438\u043d\u0443\u0442\u0443","\u043c\u0438\u043d\u0443\u0442\u044b","\u043c\u0438\u043d\u0443\u0442"],s:["\u0441\u0435\u043a\u0443\u043d\u0434\u0443","\u0441\u0435\u043a\u0443\u043d\u0434\u044b","\u0441\u0435\u043a\u0443\u043d\u0434"],zs:["\u0441\u0435\u0439\u0447\u0430\u0441", "\u0440\u043e\u0432\u043d\u043e"]};if(params){if(params.isMs)seconds/=1E3;if("nominative"==params.langCase){strs.m[0]="\u043c\u0438\u043d\u0443\u0442\u0430";strs.s[0]="\u0441\u0435\u043a\u0443\u043d\u0434\u0430"}}else params={};var days=Math.floor(seconds/86400);var str=[];seconds=Math.floor(seconds)%86400;if(days>0)str.push(days+" "+Ext.util.Format.declencionRus(days,strs.d));var hours=Math.floor(seconds/3600);seconds=Math.floor(seconds)%3600;if(hours>0&&(!params.lowPrecision||0==days))str.push(hours+ " "+Ext.util.Format.declencionRus(hours,strs.h));var minutes=Math.floor(seconds/60);seconds=Math.floor(seconds)%60;if(minutes>0&&0==days&&(!params.lowPrecision||2>=hours))str.push(minutes+" "+Ext.util.Format.declencionRus(minutes,strs.m));if(params.lowPrecision){if(days==0&&0==hours&&0==minutes)str=["\u043c\u0435\u043d\u044c\u0448\u0435 \u043c\u0438\u043d\u0443\u0442\u044b"]}else{seconds=Math.floor(seconds);if(0==hours&&0==days)if(0!=seconds)str.push(seconds+" "+Ext.util.Format.declencionRus(seconds, strs.s));else if(0==minutes)str.push(strs.zs[0]);else str.push(strs.zs[1])}return str.join(" ")},digitalInterval:function(seconds,is_msec){if(isNaN(seconds))return"--:--";else{if(is_msec)seconds=seconds/1E3;var sign=seconds<0?"-":"";seconds=Math.abs(seconds);var str="";if(seconds>3600){str+=lz(Math.floor(seconds/3600))+":";seconds=Math.floor(seconds)%3600}str=sign+str+lz(Math.floor(seconds/60))+":"+lz(Math.floor(seconds)%60);return str}},account:function(acct){var n=Main.config.etp_id+String.leftPad(acct.toString(), 7,"0");return n+(checkSumINN(n+"0")||"X")},countryFlag:function(name){if(!name)return"";name=name.toLowerCase();return''},nl2br:function(str){if(!str)return"";return(""+str).replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g,"$1"+"
    "+"$2")},ucfirst:function(string){return string[0].toUpperCase()+string.substring(1)},priceRenderer:function(value,meta,record){return!isEmpty(value)?Ext.util.Format.formatPrice(value):""},priceRubRenderer:function(value, meta,record){return!isEmpty(value)?Ext.util.Format.formatPrice(value)+" "+RUB_SIGN:""},yesOrUnsetRenderer:function(value,meta,record){if(value===null)return"";return value?"\u0414\u0430":"\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e"},title:function(val){return Ext.util.Format.htmlEncode(val)},titleRenderer:function(val,meta,record){return Ext.util.Format.title(val)}}); (function(fm){var synonims={"bool":["boolRenderer"],"formatPrice":["price"],"formatInterval":["interval"]};for(var i in synonims)if(synonims.hasOwnProperty(i))for(var j=0;j4096)throw new Error("Cookie size exceeds 4096 byte limit");document.cookie=cookieString},deleteCookie:function(name){document.cookie=name+"=;expires="+(new Date(0)).toUTCString()}});implementation.add(mixins.serialized,{name:"windowname",isAvailable:function(){return typeof window.name!="undefined"},read:function(){return window.name},save:function(serializedString){window.name=serializedString}});implementation.detect();implementation=null})(window,document);Ext.ns("Main.templates"); function getProcedureDataTemplate(){var procedureDataTemplate=new Ext.XTemplate(''+''+""+""+""+""+ ""+""+''+ ''+ ''+"
    \u041d\u043e\u043c\u0435\u0440 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b:{registry_number}
    \u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b:{title}
    \u0424\u043e\u0440\u043c\u0430 \u0442\u043e\u0440\u0433\u043e\u0432:{procedure_type_vocab}"+ ' c \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c \u043a\u0432\u0430\u043b\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u043e\u0442\u0431\u043e\u0440\u0430'+"
    \u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0442\u043e\u0440:{org_full_name}
    \u041a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0442\u043e\u0440\u0430:{contact_phone}, {contact_email}
    \u041a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u043e\u0435 \u043b\u0438\u0446\u043e:{contact_person}
    \u0414\u0430\u0442\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0438\u0437\u0432\u0435\u0449\u0435\u043d\u0438\u044f:{[fm.localDateOnlyRenderer(values.date_published)]}
    \u0414\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043c\u044f \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u043f\u043e\u0434\u0430\u0447\u0438 \u0437\u0430\u044f\u0432\u043e\u043a:{[fm.localDateText(values.date_end_registration)]}
    \u0414\u0430\u0442\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 \u0432\u0441\u043a\u0440\u044b\u0442\u0438\u044f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u043e\u0432:{[fm.localDateText(values.date_applic_opened)]}
    \u0414\u0430\u0442\u0430 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044f:{[fm.localDateText(values.date_end_first_part_review)]}
    ");return procedureDataTemplate} function getRequestInfoTemplate(){return new Ext.XTemplate(''+""+''+''+ ''+''+ ''+""+"
    \u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:{request_message}
    \u0423\u0447\u0430\u0441\u0442\u043d\u0438\u043a, \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0438\u0439 \u0437\u0430\u043f\u0440\u043e\u0441{supplier_name}
    \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u043a \u0437\u0430\u043f\u0440\u043e\u0441\u0443 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b:{request_docs}\u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442
    \u0422\u0435\u043a\u0441\u0442 \u0440\u0430\u0437\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u044f\u041e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u044f:{response_message}{cancel_reason}\u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442
    \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u043a \u0440\u0430\u0437\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u044e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b:{response_docs}\u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442
    ")} function getExplainInfoTemplate(){return new Ext.XTemplate(''+''+"")} function getFileDownloadTemplate(){return new Ext.XTemplate('{name}')} function getLotDataTemplate(){var tpl='
    \u0422\u0435\u043a\u0441\u0442 \u0440\u0430\u0437\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u044f:{response_message}\u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442
    \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u043a \u0440\u0430\u0437\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u044e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b:{response_docs}
    '+""+""+''+''+""+""+""+""+""+""+ ''+''+""+''+''+ '"+''+ ''+''+ ''+''+ ""+""+"
    \u0420\u0435\u0435\u0441\u0442\u0440\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b{procedure_registry_number}
    \u041d\u043e\u043c\u0435\u0440 \u043b\u043e\u0442\u0430{number}
    \u0417\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0438, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0434\u043e\u0433\u043e\u0432\u043e\u0440"+ ''+"{#}. {full_name}. \u0410\u0434\u0440\u0435\u0441 \u043c\u0435\u0441\u0442\u043e\u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f: {address}\n"+"
    \u041f\u0440\u0435\u0434\u043c\u0435\u0442 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430{subject}
    \u041d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0446\u0435\u043d\u0430{start_price}
    \u0412\u0430\u043b\u044e\u0442\u0430{currency_vocab}
    \u041d\u043e\u043c\u0435\u043d\u043a\u043b\u0430\u0442\u0443\u0440\u0430 \u043b\u043e\u0442\u0430"+''+"{full_name}; "+"
    \u041f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0440\u0430\u0431\u043e\u0442, \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u0443\u0441\u043b\u0443\u0433
    '+''+''+""+""+'\u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u044b'+"
    \u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u0425\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438
    {name}{quantity}"+''+''+"{#}. {requirement} ({type_vocab}): {value}\n"+ "
    "+""+''+"
    \u041c\u0435\u0441\u0442\u043e \u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438"+''+"\u041e\u0431\u044a\u0435\u043c \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438: {quantity}
    "+"\u0410\u0434\u0440\u0435\u0441 \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438: {address}
    "+ "\u0423\u0441\u043b\u043e\u0432\u0438\u044f \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438: {term}

    "+"
    \u0420\u0430\u0437\u043c\u0435\u0440 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0437\u0430\u044f\u0432\u043a\u0438 \u043d\u0430 \u0443\u0447\u0430\u0441\u0442\u0438\u0435\u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f{guarantee_application}
    \u0420\u0430\u0437\u043c\u0435\u0440 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430\u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f{guarantee_contract}
    \u0420\u0430\u0437\u043c\u0435\u0440 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u0430\u0432\u0430\u043d\u0441\u0430\u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f{guarantee_advance}
    \u0420\u0430\u0437\u043c\u0435\u0440 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0439\u043d\u044b\u0445 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f{guarantee_warranty}
    \u0422\u0440\u0435\u0431\u0443\u0435\u043c\u0430\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f"+''+"{#}. {requirement} (\u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435: {reason}), {application_part}-\u044f \u0447\u0430\u0441\u0442\u044c \u0437\u0430\u044f\u0432\u043a\u0438
    "+"
    ";var lotDataTemplate=new Ext.XTemplate(tpl);return lotDataTemplate} function getTsnApplicSignatureTemplate(){var tpl="\u0417\u0410\u042f\u0412\u041a\u0410 \u041d\u0410 \u0423\u0427\u0410\u0421\u0422\u0418\u0415 \u0412 \u041f\u0420\u041e\u0426\u0415\u0414\u0423\u0420\u0415\n\n"+"\u0420\u0435\u0435\u0441\u0442\u0440\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b: {registry_number}\n"+"\u0424\u043e\u0440\u043c\u0430 \u0442\u043e\u0440\u0433\u043e\u0432: {procedure_type_vocab}"+' c \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c \u043a\u0432\u0430\u043b\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u043e\u0442\u0431\u043e\u0440\u0430'+ "\n"+"\u041a\u0440\u0430\u0442\u043a\u043e\u0435 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b: {title}\n"+"\n\u0421\u0412\u0415\u0414\u0415\u041d\u0418\u042f \u041e \u041b\u041e\u0422\u0415\n"+"\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u043e\u0432\u0430\u0440\u0430: {lot_unit_name}\n"+"\u0412\u0430\u043b\u044e\u0442\u0430: {currency_vocab}\n"+"\u0415\u0434\u0438\u043d\u0438\u0446\u0430 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f: {okei_id}\n"+ "\n\u0417\u0410\u042f\u0412\u041a\u0410\n"+'\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e: {values.form.quantity}\n'+'\u0426\u0435\u043d\u0430: {values.form.price} {currency_vocab_short}\n';return new Ext.XTemplate(tpl)} function getTsnApplicCancelSignatureTemplate(){var tpl="\u0417\u0430\u044f\u0432\u0438\u0442\u0435\u043b\u044c {values.supplier.full_name} \u0443\u0434\u0430\u043b\u044f\u0435\u0442 \u0447\u0435\u0440\u043d\u043e\u0432\u0438\u043a \u0437\u0430\u044f\u0432\u043a\u0438.\n"+"\u0420\u0435\u0435\u0441\u0442\u0440\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b: {values.procedure.registry_number}\n"+"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b: {values.procedure.title}\n"+ "\u0414\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043c\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u0447\u0435\u0440\u043d\u043e\u0432\u0438\u043a\u0430 \u0437\u0430\u044f\u0432\u043a\u0438: {[Ext.util.Format.date(new Date(), 'd.m.Y H:i')]}";return new Ext.XTemplate(tpl)} function getTsnProcedureSignatureTemplate(){var tpl="\u0418\u0417\u0412\u0415\u0429\u0415\u041d\u0418\u0415 \u041e \u041f\u0420\u041e\u0412\u0415\u0414\u0415\u041d\u0418\u0418 \u0422\u041e\u0420\u0413\u041e\u0412\n\n"+"\u0424\u043e\u0440\u043c\u0430 \u0442\u043e\u0440\u0433\u043e\u0432: {procedure_type_vocab}\n"+' c \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c \u043a\u0432\u0430\u043b\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u043e\u0442\u0431\u043e\u0440\u0430'+ "\n"+"\u041a\u0440\u0430\u0442\u043a\u043e\u0435 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b: {title}\n\n"+"\u0414\u0410\u041d\u041d\u042b\u0415 \u041e\u0411 \u041e\u0420\u0413\u0410\u041d\u0418\u0417\u0410\u0422\u041e\u0420\u0415\n"+"\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0442\u043e\u0440\u0430: {org_full_name}\n"+"\u041c\u0435\u0441\u0442\u043e\u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0442\u043e\u0440\u0430: {org_postal_address}\n"+ "\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d: {contact_phone}\n"+"\u0410\u0434\u0440\u0435\u0441 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b: {contact_email}\n"+"\u0424.\u0418.\u041e.\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u043e\u0433\u043e \u043b\u0438\u0446\u0430: {contact_person}\n"+''+"\u0414\u0430\u0442\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438: {[fm.localDateOnlyRenderer(values.date_published)]}\n"+ ""+"\n\u0421\u0412\u0415\u0414\u0415\u041d\u0418\u042f \u041e \u041b\u041e\u0422\u0415\n"+"\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u043e\u0432\u0430\u0440\u0430: {lot_unit_name}\n"+'\u041d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0446\u0435\u043d\u0430: {[fm.price(values.start_price)]}\u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e\n'+"\u0412\u0430\u043b\u044e\u0442\u0430: {currency_vocab}\n"+ "\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e: {quantity}\n"+"\u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e: {[this.processNotRequired(values.min_quantity)]}\n"+"\u0415\u0434\u0438\u043d\u0438\u0446\u0430 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f: {okei_id}\n"+"\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0442\u043e\u0432\u0430\u0440\u0430: {lot_unit_description}\n"+''+ "\u041d\u043e\u043c\u043d\u043a\u043b\u0430\u0442\u0443\u0440\u043d\u044b\u0435 \u0433\u0440\u0443\u043f\u043f\u044b:\n"+''+"{full_name}\n"+""+""+''+"\n\u0422\u0420\u0415\u0411\u041e\u0412\u0410\u041d\u0418\u042f \u041a \u041f\u041e\u041a\u0423\u041f\u0410\u0422\u0415\u041b\u042f\u041c\n"+"{buyer_requirements}\n"+""+''+"\n \u0410\u0414\u0420\u0415\u0421 \u041c\u0415\u0421\u0422\u041e\u041d\u0410\u0425\u041e\u0416\u0414\u0415\u041d\u0418\u042f \u0422\u041e\u0412\u0410\u0420\u0410\n"+ "{[this.processNotRequired(values.address_string)]}\n"+""+''+"\n\u041a\u0420\u0418\u0422\u0415\u0420\u0418\u0418 \u041e\u0426\u0415\u041d\u041a\u0418 \u0417\u0410\u042f\u0412\u041e\u041a\n"+"{evaluation_criteries}\n"+""+''+"\n\u041d\u0410\u0421\u0422\u0420\u041e\u0419\u041a\u0418 \u0410\u0412\u0422\u041e\u041c\u0410\u0422\u0418\u0427\u0415\u0421\u041a\u041e\u0419 \u041f\u0415\u0420\u0415\u041e\u0426\u0415\u041d\u041a\u0418:\n"+ "\u0421\u0440\u043e\u043a \u0434\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u0435\u0440\u0435\u043e\u0446\u0435\u043d\u043a\u0438 {discount_period} \u043d\u0435\u0434.\n"+"\u0420\u0430\u0437\u043c\u0435\u0440 \u0434\u0438\u0441\u043a\u043e\u043d\u0442\u0430 \u043f\u0435\u0440\u0435\u043e\u0446\u0435\u043d\u043a\u0438 {discount_percent}%\n"+""+''+"\n\u0418\u0417\u041e\u0411\u0420\u0410\u0416\u0415\u041d\u0418\u042f \u0422\u041e\u0412\u0410\u0420\u0410 \n"+ ''+"{#}. {descr} - {name} (\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 \u0413\u041e\u0421\u0422 \u042034.11-94: {hash})\n"+""+""+''+"\n\u0414\u041e\u041a\u0423\u041c\u0415\u041d\u0422\u0410\u0426\u0418\u042f \u041a \u0422\u041e\u0412\u0410\u0420\u0423 \n"+''+"{#}. {descr} - {name} (\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 \u0413\u041e\u0421\u0422 \u042034.11-94: {hash})\n"+ ""+""+''+"\n\u041f\u0420\u041e\u0415\u041a\u0422 \u0414\u041e\u0413\u041e\u0412\u041e\u0420\u0410 \u0418 \u0421\u041e\u041f\u0420\u041e\u0412\u041e\u0414\u0418\u0422\u0415\u041b\u042c\u041d\u0410\u042f \u0414\u041e\u041a\u0423\u041c\u0415\u041d\u0422\u0410\u0426\u0418\u042f \u041f\u041e \u041b\u041e\u0422\u0423 \n"+''+"{#}. {descr} - {name} (\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 \u0413\u041e\u0421\u0422 \u042034.11-94: {hash})\n"+ ""+"";var procedureSignatureTemplate=new Ext.XTemplate(tpl,{processNotRequired:function(v){if(Ext.isEmpty(v)||v=="null")return"\u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e";else return v}});return procedureSignatureTemplate} function getProcedureSignatureTemplate(procedure_type){var app_stages_text=procedure_type==PROCEDURE_TYPE_TENDER_IN_TWO_STEPS||procedure_type==PROCEDURE_TYPE_PAPER_TENDER_IN_TWO_STEPS?"\u0414\u0430\u0442\u044b \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b\n":"\u041f\u043e\u0440\u044f\u0434\u043e\u043a \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044f \u0437\u0430\u044f\u0432\u043e\u043a: {application_stages} \u044d\u0442\u0430\u043f(\u0430)\n\n"; var guarantee_advance_text='\u0420\u0430\u0437\u043c\u0435\u0440 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u0430\u0432\u0430\u043d\u0441\u0430: {guarantee_advance}\n';var guarantee_warranty_text='\u0420\u0430\u0437\u043c\u0435\u0440 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0439\u043d\u044b\u0445 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432: {guarantee_warranty}\n'; var guarantee_contract_text='\u0420\u0430\u0437\u043c\u0435\u0440 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430: {[fm.price(values.guarantee_contract)]}\n';if(procedure_type){if(procedure_type==Application.models.Procedure.type_ids.contest)date_end_first_parts_review_text="\u0414\u0430\u0442\u0430 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044f \u0437\u0430\u044f\u0432\u043e\u043a"; if(procedure_type==Application.models.Procedure.type_ids.quotation)app_stages_text="";if(procedure_type==Application.models.Procedure.type_ids.pricelist)app_stages_text="";if(procedure_type==Application.models.Procedure.type_ids.quotation)date_applic_opened_text="\u0414\u0430\u0442\u0430 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044f \u0437\u0430\u044f\u0432\u043e\u043a"}if(!Main.config.advance_guarantee_configurable&&(procedure_type==Application.models.Procedure.type_ids.auction_up|| procedure_type==Application.models.Procedure.type_ids.auction_down||procedure_type==Application.models.Procedure.type_ids.contest))guarantee_advance_text='\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u0430\u0432\u0430\u043d\u0441\u0430 \u0432 \u0440\u0430\u0437\u043c\u0435\u0440\u0435 \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 \u0441\u0443\u043c\u043c\u044b \u0430\u0432\u0430\u043d\u0441\u043e\u0432\u044b\u0445 \u043f\u043b\u0430\u0442\u0435\u0436\u0435\u0439'+ ' \u0434\u043e \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430'+' \u0441 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430\n';if("percent"==Main.config.warranty_guarantee_type)guarantee_warranty_text='\u0420\u0430\u0437\u043c\u0435\u0440 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0439\u043d\u044b\u0445 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432: {guarantee_warranty} %\n'; else if("text"==Main.config.warranty_guarantee_type)guarantee_warranty_text='\u0420\u0430\u0437\u043c\u0435\u0440 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0439\u043d\u044b\u0445 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432: {guarantee_warranty_text}\n';var tpl="\u0418\u0417\u0412\u0415\u0429\u0415\u041d\u0418\u0415 \u041e \u041f\u0420\u041e\u0412\u0415\u0414\u0415\u041d\u0418\u0418 \u041f\u0420\u041e\u0426\u0415\u0414\u0423\u0420\u042b {[this.procedureClass(this.procedure_type)]}\n\n"+ "\u0424\u043e\u0440\u043c\u0430 \u0442\u043e\u0440\u0433\u043e\u0432: {procedure_type_vocab}"+' c \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c \u043a\u0432\u0430\u043b\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u043e\u0442\u0431\u043e\u0440\u0430'+"\n"+'\u0421\u043f\u043e\u0441\u043e\u0431 \u0437\u0430\u043a\u0443\u043f\u043a\u0438 \u043f\u043e \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0443 \u0415\u0418\u0421: {purchase_method_name}\n'+ "\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b: {title}\n"+'\u0412\u044b\u0431\u043e\u0440 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430 \u0434\u043b\u044f \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430: \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\n'+"\n\u0414\u0410\u041d\u041d\u042b\u0415 \u041e\u0411 \u041e\u0420\u0413\u0410\u041d\u0418\u0417\u0410\u0422\u041e\u0420\u0415\n"+ "\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0442\u043e\u0440\u0430: {org_full_name}\n"+"\u0422\u0438\u043f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0442\u043e\u0440\u0430: {org_customer_type}\n"+"\u041c\u0435\u0441\u0442\u043e\u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0442\u043e\u0440\u0430: {org_postal_address}\n"+"\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d: {contact_phone}\n"+ '\u0424\u0430\u043a\u0441: {contact_fax}\n'+"\u0410\u0434\u0440\u0435\u0441 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b: {contact_email}\n"+"\u0424.\u0418.\u041e.\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u043e\u0433\u043e \u043b\u0438\u0446\u0430: {contact_person}\n"+''+"\u041c\u0435\u0441\u0442\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044f \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0439: {review_applics_city}\n"+ ""+"\n\u0421\u0412\u041e\u0419\u0421\u0422\u0412\u0410 \u041f\u0420\u041e\u0426\u0415\u0414\u0423\u0420\u042b\n"+'\u0417\u0430\u043a\u0430\u0437\u0447\u0438\u043a \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u043b \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0443\u0447\u0430\u0441\u0442\u0438\u044e \u0432 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u043c \u043a\u0440\u0443\u0433\u043e\u043c \u0437\u0430\u044f\u0432\u0438\u0442\u0435\u043b\u0435\u0439\n'+ "\u0421\u043f\u0438\u0441\u043e\u043a \u0437\u0430\u044f\u0432\u0438\u0442\u0435\u043b\u0435\u0439, \u043a\u043e\u043c\u0443 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0435:\n\n"+''+"{full_name} \u0418\u041d\u041d {inn} \u041a\u041f\u041f {kpp} Email {email}\n"+""+""+"{[this.renderStepInfo(values.steps)]}"+ ''+app_stages_text+""+''+"\u041f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u0435: \u0434\u0430\n"+""+''+''+ "\u0414\u043e\u0441\u0442\u0443\u043f \u043a\u043e \u0432\u0442\u043e\u0440\u044b\u043c \u0447\u0430\u0441\u0442\u044f\u043c \u0437\u0430\u044f\u0432\u043e\u043a \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432 \u043d\u0430 \u044d\u0442\u0430\u043f\u0435: \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u0435 \u0437\u0430\u044f\u0432\u043e\u043a \u043d\u0430 \u0443\u0447\u0430\u0441\u0442\u0438\u0435\u041f\u043e\u0434\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0438\u0442\u043e\u0433\u043e\u0432 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b\n"+ ""+""+''+''+"\u0412\u0440\u0435\u043c\u044f \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u0446\u0435\u043d\u043e\u0432\u044b\u0445 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0439: {offers_wait_time} \u043c\u0438\u043d\u0443\u0442\n"+""+''+"\u0428\u0430\u0433 \u0446\u0435\u043d\u043e\u0432\u044b\u0445 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0439"+ ''+": \u043e\u0442 {offers_step_min}% \u0434\u043e {offers_step_max}%\n"+""+''+" (\u0432 \u0432\u0430\u043b\u044e\u0442\u0435 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430): \u043e\u0442 {offers_step_min} \u0434\u043e {offers_step_max}\n"+""+""+""+''+"\u0414\u0430\u0442\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438: {[fm.localDateOnlyRenderer(values.date_published)]}\n"+ ""+'{[this.renderStepDates(values.steps, values.procedure_type)]}';tpl+=''+"{values.canceled_text}\n"+""+''+"\n\u041a\u041e\u0414 \u041f\u0420\u0415\u0414\u041c\u0415\u0422\u0410 \u0417\u0410\u041a\u0423\u041f\u041a\u0418 \n"+''+"{full_name}\n"+""+""+''+ "\n\u041a\u041e\u0414 \u0412\u041d\u0423\u0422\u0420\u0415\u041d\u041d\u0415\u0419 \u041a\u041b\u0410\u0421\u0421\u0418\u0424\u0418\u041a\u0410\u0426\u0418\u0418 \u0417\u0410\u041a\u0423\u041f\u041a\u0418 \n"+''+"{full_name}\n"+""+""+''+"\n\u0414\u041e\u041a\u0423\u041c\u0415\u041d\u0422\u0410\u0426\u0418\u042f \u041f\u0420\u041e\u0426\u0415\u0414\u0423\u0420\u042b \n"+''+"{#}. {descr} - {name} (\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 \u0413\u041e\u0421\u0422 \u042034.11-94: {hash}) \n"+ ""+""+''+"\n\u041b\u041e\u0422 \u2116 {number}\n"+"\u0417\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0438, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0434\u043e\u0433\u043e\u0432\u043e\u0440:\n"+'\n'+"{#}. {full_name}. \u0410\u0434\u0440\u0435\u0441 \u043c\u0435\u0441\u0442\u043e\u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f: {address}\n\n"+""+ "\u041f\u0420\u0415\u0414\u041c\u0415\u0422 \u0414\u041e\u0413\u041e\u0412\u041e\u0420\u0410\n"+"{subject}\n"+''+'\u0426\u0435\u043d\u0430 \u0442\u043e\u0432\u0430\u0440\u0430, \u0440\u0430\u0431\u043e\u0442\u044b, \u0443\u0441\u043b\u0443\u0433\u0438: {[fm.price(values.commodity_price)]}\u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e\n'+'\u0426\u0435\u043d\u0430 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430: {[fm.price(values.max_contract_price)]}\u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e\n'+ ''+"\u0424\u043e\u0440\u043c\u0443\u043b\u0430 \u0446\u0435\u043d\u044b, \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0449\u0430\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0440\u0430\u0441\u0447\u0435\u0442\u0430 \u0441\u0443\u043c\u043c, \u043f\u043e\u0434\u043b\u0435\u0436\u0430\u0449\u0438\u0445 \u0443\u043f\u043b\u0430\u0442\u0435: {values.price_formula}\n"+'\u0426\u0435\u043d\u0430 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430: {[fm.price(values.max_contract_price)]}\u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e\n'+ ''+'\u041d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0446\u0435\u043d\u0430: {[fm.price(values.start_price)]}\u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e\n'+""+''+"\u0411\u0435\u0437 \u041d\u0414\u0421\n"+""+''+"\u0421 \u0443\u0447\u0435\u0442\u043e\u043c \u041d\u0414\u0421. \u0420\u0430\u0437\u043c\u0435\u0440 \u041d\u0414\u0421: {values.vat_percent}%\n"+ ""+''+"\u0421 \u0443\u0447\u0435\u0442\u043e\u043c \u041d\u0414\u0421. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u043e\u0441\u0442\u0430\u0432\u043d\u043e\u0439 \u041d\u0414\u0421\n"+""+"\u0412\u0430\u043b\u044e\u0442\u0430: {currency_vocab}\n"+''+'\u0422\u043e\u0440\u0433\u0438 \u0437\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0443. \u041d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0446\u0435\u043d\u0430 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u0430: {[fm.price(values.unit_price)]}\n'+ ""+''+"\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430 \u0441 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430\u043c\u0438: \u0434\u0430\n"+"\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u0445 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u043e\u0432: {values.number_of_participants}\n"+ ""+''+"\u0421\u0440\u043e\u043a \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430: {[fm.localDateOnlyRenderer(values.date_end_contract)]}\n"+""+"\n\u041e\u041a\u041f\u0414\u041e\u041a\u041f\u04142\n"+''+"{code} - {full_name}\n"+""+''+"\u041e\u041a\u0412\u042d\u0414\n"+ ''+"{code} - {full_name}\n"+""+""+''+"\n\u041e\u041a\u0412\u042d\u04142\n"+''+"{code} - {full_name}\n"+""+""+''+"\n\u041f\u0415\u0420\u0415\u0427\u0415\u041d\u042c \u041f\u041e\u0421\u0422\u0410\u0412\u041b\u042f\u0415\u041c\u042b\u0425 \u0422\u041e\u0412\u0410\u0420\u041e\u0412, \u0412\u042b\u041f\u041e\u041b\u041d\u042f\u0415\u041c\u042b\u0425 \u0420\u0410\u0411\u041e\u0422, \u041e\u041a\u0410\u0417\u042b\u0412\u0410\u0415\u041c\u042b\u0425 \u0423\u0421\u041b\u0423\u0413\n"+ ''+"\u041f\u041e\u0417\u0418\u0426\u0418\u042f {#}\n"+"\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435: {name}\n"+"\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e: {quantity}\n"+"\u041e\u041a\u0415\u0418: {okei_symbol}\n"+''+"\u041e\u041a\u041f\u04142: {okpd2_code}\n"+""+''+"\u041e\u041a\u0412\u042d\u04142: {okved2_code}\n"+""+''+"\u0425\u0410\u0420\u0410\u041a\u0422\u0415\u0420\u0418\u0421\u0422\u0418\u041a\u0418\n"+ ''+"{#}. {requirement} ({type_vocab}): {value}\n"+""+""+''+"\u0425\u0410\u0420\u0410\u041a\u0422\u0415\u0420\u0418\u0421\u0422\u0418\u041a\u0418\n"+"{simple_requirements}\n"+""+""+"\n"+'';tpl+="\n\u041c\u0415\u0421\u0422\u041e \u0418 \u0423\u0421\u041b\u041e\u0412\u0418\u042f \u041f\u041e\u0421\u0422\u0410\u0412\u041a\u0418\n"+''+ '\u041e\u0431\u044a\u0435\u043c \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438: {[this.processNotRequired(values.quantity)]}\n'+'\u0410\u0434\u0440\u0435\u0441 \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438: {[this.processNotRequired(values.address)]}\n'+'\u0423\u0441\u043b\u043e\u0432\u0438\u044f \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438: {[this.processNotRequired(values.term)]}\n'+"\n"+""+""+"\u0422\u0420\u0415\u0411\u041e\u0412\u0410\u041d\u0418\u042f \u041a \u0417\u0410\u042f\u0412\u0418\u0422\u0415\u041b\u042f\u041c\n"+ '\u0420\u0430\u0437\u043c\u0435\u0440 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0437\u0430\u044f\u0432\u043a\u0438 \u043d\u0430 \u0443\u0447\u0430\u0441\u0442\u0438\u0435: {[fm.price(values.guarantee_application)]}\n'+'\u0412\u0430\u043b\u044e\u0442\u0430 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0437\u0430\u044f\u0432\u043a\u0438 \u043d\u0430 \u0443\u0447\u0430\u0441\u0442\u0438\u0435: {guarantee_currency_vocab}\n'+ guarantee_contract_text+guarantee_advance_text+guarantee_warranty_text+''+"\n\u0423\u0441\u043b\u043e\u0432\u0438\u044f\u043c\u0438 \u0437\u0430\u043a\u0443\u043f\u043a\u0438 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043e \u0441\u0442\u0440\u0430\u0445\u043e\u0432\u0430\u043d\u0438\u0435:\n"+' \u0421\u0442\u0440\u0430\u0445\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0442\u0440\u043e\u0438\u0442\u0435\u043b\u044c\u043d\u043e-\u043c\u043e\u043d\u0442\u0430\u0436\u043d\u044b\u0445 \u0440\u0438\u0441\u043a\u043e\u0432\n'+ ' \u0421\u0442\u0440\u0430\u0445\u043e\u0432\u0430\u043d\u0438\u0435 \u0433\u0440\u0443\u0437\u043e\u0432 \u043d\u0430 \u0432\u0440\u0435\u043c\u044f \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438\n'+' \u0421\u0442\u0440\u0430\u0445\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u0430 \u043e\u0442 \u043d\u0435\u0441\u0447\u0430\u0441\u0442\u043d\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f\n'+ ' \u0421\u0442\u0440\u0430\u0445\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u0434 \u0442\u0440\u0435\u0442\u044c\u0438\u043c\u0438 \u043b\u0438\u0446\u0430\u043c\u0438 (\u0441\u0442\u0440\u0430\u0445\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438, \u0441\u0442\u0440\u0430\u0445\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0431\u0449\u0435\u0433\u0440\u0430\u0436\u0434\u0430\u043d\u0441\u043a\u043e\u0439 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0438 \u0442.\u0434)\n'+ ' \u0418\u043d\u044b\u0435 \u0432\u0438\u0434\u044b \u0441\u0442\u0440\u0430\u0445\u043e\u0432\u0430\u043d\u0438\u044f (\u0441\u0442\u0440\u0430\u0445\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430, \u043b\u0438\u0447\u043d\u043e\u0435 \u0441\u0442\u0440\u0430\u0445\u043e\u0432\u0430\u043d\u0438\u0435, \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0441\u0442\u0440\u0430\u0445\u043e\u0432\u0430\u043d\u0438\u044f)\n'+ "\n"+""+''+"{#}. {requirement} (\u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435: {reason}), {application_part}-\u044f \u0447\u0430\u0441\u0442\u044c \u0437\u0430\u044f\u0432\u043a\u0438\n"+""+''+"\u041a\u0420\u0418\u0422\u0415\u0420\u0418\u0418 \u041e\u0426\u0415\u041d\u041a\u0418\n"+"\u041a\u0440\u0438\u0442\u0435\u0440\u0438\u0439: \u0426\u0435\u043d\u0430 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430\n"+ "\u0412\u0435\u0441 \u0432 %: {criteria_contract_price}\n\n"+""+''+"\u0423\u0421\u0422\u0410\u041d\u041e\u0412\u041b\u0415\u041d\u042b \u041f\u0420\u0415\u0424\u0415\u0420\u0415\u041d\u0426\u0418\u0418 \u041e\u0422\u0414\u0415\u041b\u042c\u041d\u042b\u041c \u0423\u0427\u0410\u0421\u0422\u041d\u0418\u041a\u0410\u041c\n"+"{simple_preferences}\n\n"+""+''+"\u041a\u0420\u0418\u0422\u0415\u0420\u0418\u0418 \u041e\u0426\u0415\u041d\u041a\u0418 \u0417\u0410\u042f\u0412\u041e\u041a\n"+ "{simple_evaluation_criteries}\n\n"+""+''+"\u0414\u041e\u041f\u041e\u041b\u041d\u0418\u0422\u0415\u041b\u042c\u041d\u0410\u042f \u0418\u041d\u0424\u041e\u0420\u041c\u0410\u0426\u0418\u042f \u0414\u041b\u042f \u0417\u0410\u042f\u0412\u0418\u0422\u0415\u041b\u0415\u0419\n"+"{simple_requirements}\n\n"+""+''+"\u0414\u041e\u041a\u0423\u041c\u0415\u041d\u0422\u0410\u0426\u0418\u042f \u041f\u041e \u041b\u041e\u0422\u0423 \n"+ ''+"{#}. {descr} - {name} (\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 \u0413\u041e\u0421\u0422 \u042034.11-94: {hash}) "+""+""+"";var procedureSignatureTemplate=new Ext.XTemplate(tpl,{processNotRequired:function(v){if(Ext.isEmpty(v)||v=="null")return"\u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e";else return v},procedureClass:function(t){if([Application.models.Procedure.type_ids.peretorg_reduc, Application.models.Procedure.type_ids.peretorg_contest].indexOf(t)>=0)return"\u041f\u0415\u0420\u0415\u0422\u041e\u0420\u0416\u041a\u0418";return"\u0417\u0410\u041a\u0423\u041f\u041a\u0418"},renderStepDates:function(steps,procedure_type){if(!steps)return"";var s="";steps=Ext.util.JSON.decode(steps);for(i=0;i\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435/\u0424.\u0418.\u041e. \u0437\u0430\u044f\u0432\u0438\u0442\u0435\u043b\u044f: {parent.supplier.full_name}\n'+'\u0418\u041d\u041d: {parent.supplier.inn}\n'+ '\u041a\u041f\u041f: {parent.supplier.kpp}\n'+'\u042e\u0440\u0438\u0434\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u0434\u0440\u0435\u0441: {parent.supplier.legal_address}\n'+'\u041f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0430\u0434\u0440\u0435\u0441: {parent.supplier.postal_address}\n'+'\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d: {parent.supplier.phone}\n'+ ''+"\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u043e\u0431 \u043e\u0434\u043e\u0431\u0440\u0435\u043d\u0438\u0438 \u0441\u0443\u043c\u043c\u044b \u0441\u0434\u0435\u043b\u043a\u0438\n"+'\n'+"{#}. {descr} - {name} (\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 \u0413\u041e\u0421\u0422 \u042034.11-94: {hash})\n"+"";if(!!include_additional_suppliers)cmpdata+= '\n\n\u0414\u041e\u041f. \u0414\u0410\u041d\u041d\u042b\u0415 \u041e \u0417\u0410\u042f\u0412\u0418\u0422\u0415\u041b\u0415\n'+"\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435/\u0424.\u0418.\u041e. \u0437\u0430\u044f\u0432\u0438\u0442\u0435\u043b\u044f: {full_name}\n"+"\u0418\u041d\u041d: {inn}\n"+"\u042e\u0440\u0438\u0434\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u0434\u0440\u0435\u0441: {legal_address}\n"+"\u041f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0430\u0434\u0440\u0435\u0441: {postal_address}\n"+ '\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d: {phone}\n'+"";return cmpdata} function cmpdataTblTpl(){var cmpdata='\u0414\u0410\u041d\u041d\u042b\u0415 \u041e \u0417\u0410\u042f\u0412\u0418\u0422\u0415\u041b\u0415'+"\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435/\u0424.\u0418.\u041e. \u0437\u0430\u044f\u0432\u0438\u0442\u0435\u043b\u044f:{full_name}"+"\u0418\u041d\u041d:{inn}"+"\u042e\u0440\u0438\u0434\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u0434\u0440\u0435\u0441:{legal_address}"+ "\u041f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0430\u0434\u0440\u0435\u0441:{postal_address}"+"\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d:{phone}"+''+"\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u043e\u0431 \u043e\u0434\u043e\u0431\u0440\u0435\u043d\u0438\u0438 \u0441\u0443\u043c\u043c\u044b \u0441\u0434\u0435\u043b\u043a\u0438"+ ''+"{#}. {descr} - {name} (\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 \u0413\u041e\u0421\u0422 \u042034.11-94: {hash})
    "+"
    ";return cmpdata} function getApplicSignatureTemplate(totalParts,procedure_type,include_additional_suppliers){var tpl="\u0417\u0410\u042f\u0412\u041a\u0410 \u041d\u0410 \u0423\u0427\u0410\u0421\u0422\u0418\u0415 \u0412 \u041f\u0420\u041e\u0426\u0415\u0414\u0423\u0420\u0415\n\n"+"\u0424\u043e\u0440\u043c\u0430 \u0442\u043e\u0440\u0433\u043e\u0432: {procedure_type_vocab}"+' c \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c \u043a\u0432\u0430\u043b\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u043e\u0442\u0431\u043e\u0440\u0430'+ "\n"+"\u041a\u0440\u0430\u0442\u043a\u043e\u0435 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b: {title}\n"+"\u0420\u0435\u0435\u0441\u0442\u0440\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b: {registry_number}\n"+"\u041b\u043e\u0442 \u2116: {lot_number}\n"+'\u0426\u0435\u043d\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u0432\u0430\u043b\u044e\u0442\u0435 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u0446\u0435\u043d\u044b \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430: {[humanizePrice(values.additional_price)]} (\u0446\u0435\u043d\u0430 \u0441 \u041d\u0414\u0421)\n\u0426\u0435\u043d\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u0432\u0430\u043b\u044e\u0442\u0435 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u0446\u0435\u043d\u044b \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430: {[humanizePrice(values.add_price_without_vat)]} (\u0446\u0435\u043d\u0430 \u0431\u0435\u0437 \u041d\u0414\u0421)\n'+ "\n"+'\u0426\u0435\u043d\u0430 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u0432\u0430\u043b\u044e\u0442\u0435 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u0446\u0435\u043d\u044b \u043b\u043e\u0442\u0430: {[humanizePrice(values.price)]} (\u0446\u0435\u043d\u0430 \u0441 \u041d\u0414\u0421)\n\u0426\u0435\u043d\u0430 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u0432\u0430\u043b\u044e\u0442\u0435 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u0446\u0435\u043d\u044b \u043b\u043e\u0442\u0430: {[humanizePrice(values.price_without_vat)]} (\u0446\u0435\u043d\u0430 \u0431\u0435\u0437 \u041d\u0414\u0421)\n'+ "\n"+''+"\u0411\u0435\u0437 \u041d\u0414\u0421\n"+""+''+"\u0421 \u0443\u0447\u0435\u0442\u043e\u043c \u041d\u0414\u0421. \u0420\u0430\u0437\u043c\u0435\u0440 \u041d\u0414\u0421: {values.vat_percent}%\n"+""+''+"\u0421 \u0443\u0447\u0435\u0442\u043e\u043c \u041d\u0414\u0421. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u043e\u0441\u0442\u0430\u0432\u043d\u043e\u0439 \u041d\u0414\u0421\n"+ ""+"\n{applic_text}\n"+''+'';if(totalParts==2)tpl+="\n\n\u041f\u0415\u0420\u0412\u0410\u042f \u0427\u0410\u0421\u0422\u042c \u0417\u0410\u042f\u0412\u041a\u0418\n";tpl+=''+'\n'+"{#}. {name}, \u0442\u043e\u0440\u0433\u043e\u0432\u0430\u044f \u043c\u0430\u0440\u043a\u0430 {trademark}\n"+'"+'\n'+''+"{#}. {requirement}: {value}\n"+""+""+""+"";if(totalParts==1)tpl+=cmpdataTpl(include_additional_suppliers);if(totalParts!=3&&procedure_type!=Application.models.Procedure.type_ids.public_sale){tpl+=''+"\n\n\u0414\u041e\u041a\u0423\u041c\u0415\u041d\u0422\u042b, \u041f\u0420\u0418\u041b\u041e\u0416\u0415\u041d\u041d\u042b\u0415 \u041a "; tpl+=procedure_type==PROCEDURE_TYPE_PRICELIST_REQ||procedure_type==PROCEDURE_TYPE_TENDER_IN_TWO_STEPS||procedure_type==PROCEDURE_TYPE_PAPER_TENDER_IN_TWO_STEPS?"\u0417\u0410\u042f\u0412\u041a\u0415\n\n":"\u041f\u0415\u0420\u0412\u041e\u0419 \u0427\u0410\u0421\u0422\u0418 \u0417\u0410\u042f\u0412\u041a\u0418\n\n";tpl+=''+'\n'+"{#}. {description} - {name} (\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 \u0413\u041e\u0421\u0422 \u042034.11-94: {hash})\n"+ "\n"+""+''+'\u0418\u043d\u044b\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b:\n'+"{#}. {descr} - {name} (\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 \u0413\u041e\u0421\u0422 \u042034.11-94: {hash})\n"+"\n"+""+''+'\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b:\n'+ "{#}. {descr} - {name} (\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 \u0413\u041e\u0421\u0422 \u042034.11-94: {hash})\n"+""+"\n"+""}tpl+="";tpl+='';tpl+="\n\u0412\u0422\u041e\u0420\u0410\u042f \u0427\u0410\u0421\u0422\u042c \u0417\u0410\u042f\u0412\u041a\u0418\n"+cmpdataTpl(include_additional_suppliers);tpl+=''+"\n\n\u0414\u041e\u041a\u0423\u041c\u0415\u041d\u0422\u042b, \u041f\u0420\u0418\u041b\u041e\u0416\u0415\u041d\u041d\u042b\u0415 \u041a\u041e \u0412\u0422\u041e\u0420\u041e\u0419 \u0427\u0410\u0421\u0422\u0418 \u0417\u0410\u042f\u0412\u041a\u0418\n\n"+ ''+'\n'+"{#}. {description} - {name} (\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 \u0413\u041e\u0421\u0422 \u042034.11-94: {hash})\n"+""+""+''+'\n'+"{#}. {descr} - {name} (\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 \u0413\u041e\u0421\u0422 \u042034.11-94: {hash})\n"+ ""+""+''+'\n\n\u0414\u041e\u041a\u0423\u041c\u0415\u041d\u0422\u042b, \u041f\u0420\u0418\u041b\u041e\u0416\u0415\u041d\u041d\u042b\u0415 \u041a \u0427\u0410\u0421\u0422\u0418 "\u0426\u0415\u041d\u0410 \u041f\u0420\u0415\u0414\u041b\u041e\u0416\u0415\u041d\u0418\u042f"\n\n'+'\n'+"{#}. {descr} - {name} (\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 \u0413\u041e\u0421\u0422 \u042034.11-94: {hash})\n"+ ""+""+''+'\n\n\u0414\u041e\u041a\u0423\u041c\u0415\u041d\u0422\u042b, \u041f\u0420\u0418\u041b\u041e\u0416\u0415\u041d\u041d\u042b\u0415 \u041a \u0427\u0410\u0421\u0422\u0418 "\u041f\u041e\u0414\u0410\u0427\u0410 \u0414\u041e\u041f\u041e\u041b\u041d\u0418\u0422\u0415\u041b\u042c\u041d\u042b\u0425 \u041f\u0420\u0415\u0414\u041b\u041e\u0416\u0415\u041d\u0418\u0419"\n\n'+'\n'+"{#}. {descr} - {name} (\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 \u0413\u041e\u0421\u0422 \u042034.11-94: {hash})\n"+ ""+""+"";tpl+="";tpl+="";tpl+='\n\n';tpl+="{values.poa_files.xml}\n";tpl+="{values.poa_files.sig}\n";tpl+="";var applicSignatureTemplate=new Ext.XTemplate(tpl);return applicSignatureTemplate} function getApplicDataTemplate(totalParts){var tpl=''+""+""+ ""+""+"'+''+''+''+''+'"+"";if(totalParts==1)tpl+=cmpdataTblTpl();tpl+=''+''+ '"+"";tpl+="";tpl+='';tpl+=''+cmpdataTblTpl();tpl+=''+''+ '"+""+'";tpl+="";tpl+='\n\n';tpl+="{values.poa_files.xml}\n";tpl+="{values.poa_files.sig}\n";tpl+="";tpl+="
    \u0424\u043e\u0440\u043c\u0430 \u0442\u043e\u0440\u0433\u043e\u0432: {procedure_type_vocab}"+' c \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c \u043a\u0432\u0430\u043b\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u043e\u0442\u0431\u043e\u0440\u0430'+"
    \u041a\u0440\u0430\u0442\u043a\u043e\u0435 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b: {title}
    \u0420\u0435\u0435\u0441\u0442\u0440\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b: {registry_number}
    \u041b\u043e\u0442 \u2116: {lot_number}
    \u0426\u0435\u043d\u0430 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u0432\u0430\u043b\u044e\u0442\u0435 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u0446\u0435\u043d\u044b \u043b\u043e\u0442\u0430:{price}"+ '
    {applic_text}
    \u041f\u0415\u0420\u0412\u0410\u042f \u0427\u0410\u0421\u0422\u042c \u0417\u0410\u042f\u0412\u041a\u0418
    \u041f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0440\u0430\u0431\u043e\u0442, \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u0443\u0441\u043b\u0443\u0433
    '+ '\n'+""+"
    \u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u043e\u0432\u0430\u0440\u0430/\u0443\u0441\u043b\u0443\u0433\u0438\u0422\u043e\u0440\u0433\u043e\u0432\u0430\u044f \u043c\u0430\u0440\u043a\u0430\u0426\u0435\u043d\u0430\u0425\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438
    {name}{trademark}{price}"+''+''+"{#}. {requirement}: {value}
    "+"
    "+"
    \u0414\u041e\u041a\u0423\u041c\u0415\u041d\u0422\u042b, \u041f\u0420\u0418\u041b\u041e\u0416\u0415\u041d\u041d\u042b\u0415 \u041a \u041f\u0415\u0420\u0412\u041e\u0419 \u0427\u0410\u0421\u0422\u0418 \u0417\u0410\u042f\u0412\u041a\u0418
    '+'{#}. {descr} - {name} (\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 \u0413\u041e\u0421\u0422 \u042034.11-94: {hash})
    '+"
    "+'
    \u041f\u0420\u041e\u0427\u0418\u0415 \u0414\u041e\u041a\u0423\u041c\u0415\u041d\u0422\u042b
    '+'{#}. {descr} - {name} (\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 \u0413\u041e\u0421\u0422 \u042034.11-94: {hash})
    '+ "
    \u0412\u0422\u041e\u0420\u0410\u042f \u0427\u0410\u0421\u0422\u042c \u0417\u0410\u042f\u0412\u041a\u0418
    \u0414\u041e\u041a\u0423\u041c\u0415\u041d\u0422\u042b, \u041f\u0420\u0418\u041b\u041e\u0416\u0415\u041d\u041d\u042b\u0415 \u041a\u041e \u0412\u0422\u041e\u0420\u041e\u0419 \u0427\u0410\u0421\u0422\u0418 \u0417\u0410\u042f\u0412\u041a\u0418
    \n'+'{#}. {descr} - {name} (\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 \u0413\u041e\u0421\u0422 \u042034.11-94: {hash})
    '+"
    \u041f\u0420\u041e\u0427\u0418\u0415 \u0414\u041e\u041a\u0423\u041c\u0415\u041d\u0422\u042b
    '+'{#}. {descr} - {name} (\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 \u0413\u041e\u0421\u0422 \u042034.11-94: {hash})
    '+ '
    '+'{#}. {descr} - {name} (\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 \u0413\u041e\u0421\u0422 \u042034.11-94: {hash})
    '+"
    ";var applicDataTemplate=new Ext.XTemplate(tpl);return applicDataTemplate} function getBalanceTemplate(){return new Ext.XTemplate(''+""+""+""+""+"
    \u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u0431\u0430\u043b\u0430\u043d\u0441 \u0441\u0447\u0435\u0442\u0430: {[fm.price(values.deposit)]} "+RUB_SIGN+"
    \u0418\u0437 \u043d\u0438\u0445 \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u043d\u0430 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u0443\u0447\u0430\u0441\u0442\u0438\u044f \u0432 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430\u0445: {[fm.price(values.deposit_blocked)]} "+ RUB_SIGN+"
    \u0418\u0437 \u043d\u0438\u0445 \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u043d\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0442: {[fm.price(values.toreturn)]} "+RUB_SIGN+"
    \u0418\u0437 \u043d\u0438\u0445 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e: {[fm.price(values.available_sum)]} "+RUB_SIGN+"
    \u041d\u043e\u043c\u0435\u0440 \u043b\u0438\u0446\u0435\u0432\u043e\u0433\u043e \u0441\u0447\u0435\u0442\u0430: {values.account}
    ")} function getCreditAccountTemplate(){if(isAdmin())return new Ext.XTemplate(''+""+""+""+"
    \u0412\u0441\u0435\u0433\u043e \u043a\u0440\u0435\u0434\u0438\u0442\u043d\u044b\u0445 \u0441\u0440\u0435\u0434\u0441\u0442\u0432: {[fm.price(values.deposit)]} "+RUB_SIGN+"
    - \u0438\u0437 \u043d\u0438\u0445 \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043e: {[fm.price(values.deposit_blocked)]} "+RUB_SIGN+"
    - \u0438\u0437 \u043d\u0438\u0445 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e: {[fm.price(values.available_sum)]} "+ RUB_SIGN+"
    \u0417\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u043d\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0442: {[fm.price(values.deposit_blocked_to_return)]} "+RUB_SIGN+"
    ");return new Ext.XTemplate(''+""+ ""+""+"
    \u0412\u0441\u0435\u0433\u043e \u043a\u0440\u0435\u0434\u0438\u0442\u043d\u044b\u0445 \u0441\u0440\u0435\u0434\u0441\u0442\u0432: {[fm.price(values.deposit)]} "+RUB_SIGN+"
    - \u0438\u0437 \u043d\u0438\u0445 \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043e: {[fm.price(values.deposit_blocked)]} "+RUB_SIGN+"
    - \u0438\u0437 \u043d\u0438\u0445 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e: {[fm.price(values.available_sum)]} "+RUB_SIGN+"
    ")} function getBalanceTemplateCustom(){var account="";if(isAdmin())account="\u041d\u043e\u043c\u0435\u0440 \u043b\u0438\u0446\u0435\u0432\u043e\u0433\u043e \u0441\u0447\u0435\u0442\u0430: {values.account}";return new Ext.XTemplate(''+""+""+""+""+""+account+"
    \u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u0431\u0430\u043b\u0430\u043d\u0441 \u0441\u0447\u0435\u0442\u0430: {[fm.price(values.deposit)]} "+RUB_SIGN+"
    \u0417\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0438\u0442\u043e\u0433\u043e:
    \u0438\u0437 \u043d\u0438\u0445:
    {[fm.price(values.deposit_blocked)]} "+ RUB_SIGN+"
      \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u043d\u0430 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435: {[fm.price(values.tosupport)]} "+RUB_SIGN+"
      \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u043d\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0442: {[fm.price(values.toreturn)]} "+RUB_SIGN+"
    \u0418\u0437 \u043d\u0438\u0445 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e: {[fm.price(values.available_sum)]} "+ RUB_SIGN+"
    ")} function getBankdataTemplate(){return new Ext.XTemplate(''+""+''+''+""+ ''+''+""+""+''+ '
    \u0420\u0430\u0441\u0447\u0435\u0442\u043d\u044b\u0439 \u0441\u0447\u0435\u0442: {account}
    \u041b\u0438\u0446\u0435\u0432\u043e\u0439 \u0441\u0447\u0435\u0442:{lic_account}{account_lic}
    \u041a\u043e\u0440\u0440\u0435\u0441\u043f\u043e\u043d\u0434\u0435\u043d\u0442\u0441\u043a\u0438\u0439 \u0441\u0447\u0435\u0442:{kor_account}{account_kor}
    \u0411\u0418\u041a: {bik}
    \u0418\u041d\u041d: {inn}
    \u041a\u041f\u041f: {kpp}
    \u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u0430\u043d\u043a\u0430: {bank}
    \u0410\u0434\u0440\u0435\u0441 \u0431\u0430\u043d\u043a\u0430: {bank_addr}
    \u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044f: {receiver}
    \u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043b\u0430\u0442\u0435\u0436\u0430: {paydest}
    ')} function getTariffdataTemplate(){return new Ext.XTemplate(''+""+""+"
    \u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u0442\u0430\u0440\u0438\u0444\u043d\u044b\u0439 \u043f\u043b\u0430\u043d: {tariff_title}
    \u0414\u0430\u0442\u0430 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u0442\u0430\u0440\u0438\u0444\u043d\u043e\u0433\u043e \u043f\u043b\u0430\u043d\u0430: {tariff_valid_for}
    ")} function getBankshortdataTemplate(){return new Ext.XTemplate(''+""+""+""+""+ ""+""+"
    \u0420\u0430\u0441\u0447\u0435\u0442\u043d\u044b\u0439 \u0441\u0447\u0435\u0442: {account}
    \u041b\u0438\u0446\u0435\u0432\u043e\u0439 \u0441\u0447\u0435\u0442: {lic_account}
    \u041a\u043e\u0440\u0440\u0435\u0441\u043f\u043e\u043d\u0434\u0435\u043d\u0442\u0441\u043a\u0438\u0439 \u0441\u0447\u0435\u0442: {kor_account}
    \u0411\u0418\u041a: {bik}
    \u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u0430\u043d\u043a\u0430: {bank}
    \u0410\u0434\u0440\u0435\u0441 \u0431\u0430\u043d\u043a\u0430: {bank_addr}
    ")} function getApplyToReturnText(){var tpl="\u041f\u0440\u043e\u0448\u0443 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0438\u0442\u044c \u0432\u043e\u0437\u0432\u0440\u0430\u0442 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u0432 \u0440\u0430\u0437\u043c\u0435\u0440\u0435 {sum} \u0440\u0443\u0431. \u043d\u0430 \u0431\u0430\u043d\u043a\u043e\u0432\u0441\u043a\u0438\u0439 \u0441\u0447\u0435\u0442, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0432 \u0430\u043a\u043a\u0440\u0435\u0434\u0438\u0442\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f\u0445"+" \u043e\u0431\u043b\u0430\u0434\u0430\u0442\u0435\u043b\u044f \u043b\u0438\u0446\u0435\u0432\u043e\u0433\u043e \u0441\u0447\u0435\u0442\u0430 {account} {full_name} (\u0418\u041d\u041d {inn}).\n"; return new Ext.XTemplate(tpl)} function getCloseCreditAccountRequestText(){return new Ext.XTemplate("\u041f\u0440\u043e\u0448\u0443 \u0437\u0430\u043a\u0440\u044b\u0442\u044c \u043a\u0440\u0435\u0434\u0438\u0442\u043d\u044b\u0439 \u0441\u0447\u0435\u0442 {credit_id} \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u0434\u043b\u044f \u0443\u0447\u0430\u0441\u0442\u0438\u044f \u0432 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0435 {procedure_registry_number} \u0438 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0438\u0442\u044c \u0432\u043e\u0437\u0432\u0440\u0430\u0442 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u043d\u0430 \u0431\u0430\u043d\u043a\u043e\u0432\u0441\u043a\u0438\u0439 \u0441\u0447\u0435\u0442 \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u043e\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438: {fincompany_info}")} function getUserdataTemplate(){return new Ext.XTemplate(''+""+""+""+ ""+''+""+""+""+""+ ""+""+""+'
    \u0424\u0430\u043c\u0438\u043b\u0438\u044f, \u0438\u043c\u044f \u0438 \u043e\u0442\u0447\u0435\u0441\u0442\u0432\u043e: {last_name} {first_name} {middle_name}
    \u0410\u0434\u0440\u0435\u0441 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b: {user_email}
    \u041b\u043e\u0433\u0438\u043d: {username}
    \u041a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d: {user_phone_rendered}
    \u041a\u043e\u0434\u043e\u0432\u0430\u044f \u0444\u0440\u0430\u0437\u0430: {secret_phraze}
    \u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c: {user_job}
    \u0420\u043e\u043b\u0438 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435: {role_list}
    \u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0442\u0430\u0442\u0443\u0441: {statusname}
    \u0414\u0430\u0442\u0430 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u0441\u0440\u043e\u043a\u0430 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438: {date_valid_for}
    \u0421\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 "+t("\u042d\u0426\u041f")+": {certificate}
    \u041a\u043b\u044e\u0447 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 '+ ": {token}
    ")} function getCompanydataTemplate(){return new Ext.XTemplate(''+''+''+""+ ''+''+ ''+''+ ''+''+""+ ""+''+""+""+''+""+""+''+""+""+""+ ""+""+""+""+""+""+ ""+''+ "
    \u041f\u043e\u043b\u043d\u043e\u0435 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 / \u0424.\u0418.\u041e.: {full_name}-
    \u041a\u0440\u0430\u0442\u043a\u043e\u0435 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435: {short_name}-
    \u0418\u041d\u041d: {inn}
    \u041a\u041f\u041f: {kpp}\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435
    \u041e\u0413\u0420\u041d: {ogrn}\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435
    \u041a\u043e\u0434 \u041e\u041a\u041e\u041f\u0424: {okopf}\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435
    \u041a\u043e\u0434 \u041e\u041a\u041f\u041e: {okpo}\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435
    \u0414\u0430\u0442\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438: {date_registered}\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435
    \u0422\u0435\u043b\u0435\u0444\u043e\u043d: {phone}
    \u0424\u0430\u043a\u0441: {fax}
    E-mail: {email}
    \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b: {email_add}
    Web \u0441\u0430\u0439\u0442: {website}
    \u041a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u043e\u0435 \u043b\u0438\u0446\u043e: {contact_fio}
    \u042e\u0440\u0438\u0434\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u0434\u0440\u0435\u0441: {legal_address}-
    \u041f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0430\u0434\u0440\u0435\u0441: {postal_address}-
    \u042f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u043e\u043c \u043c\u0430\u043b\u043e\u0433\u043e \u0438 \u0441\u0440\u0435\u0434\u043d\u0435\u0433\u043e \u043f\u0440\u0435\u0434\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430: \u0434\u0430\u043d\u0435\u0442
    ")} function getShortCompanydataTemplate(){return new Ext.XTemplate(''+""+""+""+"
    \u041f\u043e\u043b\u043d\u043e\u0435 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438: {full_name}
    \u0418\u041d\u041d: {inn}
    \u041a\u041f\u041f: {kpp}
    \u041e\u0413\u0420\u041d: {ogrn}
    ")} function getEdoAccreditationReviewTemplate(){return new Ext.XTemplate(''+""+""+""+ "
    \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044f: {inn}
    \u0414\u0430\u0442\u0430 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044f \u0437\u0430\u044f\u0432\u043a\u0438: {date_resolved}
    \u041f\u0440\u0438\u0447\u0438\u043d\u0430 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u044f: {reason_declined}
    ")} function getProceduresStatisticsTemplate(){return new Ext.XTemplate(''+""+""+""+ ""+"
    \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440:{procedures_active}
    \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440:{procedures_succeded}
    \u041e\u0431\u0449\u0430\u044f \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u0445 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u043e\u0432 (\u0440\u0443\u0431):{total_procedures_price}
    % \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0443\u0442\u043e\u0439 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0438:{budget_economy}
    \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u0435\u0441\u043e\u0441\u0442\u043e\u044f\u0432\u0448\u0438\u0445\u0441\u044f \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440:{procedures_failed}
    ")} function getProceduresCommonStatisticsTemplate(){return new Ext.XTemplate(''+""+""+ ""+"
    \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u043e\u0432, \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0438\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044e:{total_customes}
    \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0430\u043a\u043a\u0440\u0435\u0434\u0438\u0442\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432 (\u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432):{total_suppliers}
    \u041e\u0431\u0449\u0430\u044f \u0441\u0443\u043c\u043c\u0430 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u043d\u0430 \u0441\u0447\u0435\u0442\u0430\u0445 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432 (\u0440\u0443\u0431):{suppliers_deposit}
    \u0421\u0443\u043c\u043c\u0430 \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u043d\u0430 \u0441\u0447\u0435\u0442\u0430\u0445 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432 (\u0440\u0443\u0431):{suppliers_deposit_blocked}
    ")} function getTradeOfferTemplate(){return new Ext.XTemplate("\u041f\u043e\u0434\u0430\u0447\u0430 \u0446\u0435\u043d\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f\n"+"\u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430: {procedure}, \u043b\u043e\u0442 {lot}\n"+"\u041f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435: {price}\n"+"\u0412\u0440\u0435\u043c\u044f: {time}")} function getProcedureCancelTemplate(){return new Ext.XTemplate("\u041e\u0422\u041a\u0410\u0417 \u041e\u0422 \u041f\u0420\u041e\u0412\u0415\u0414\u0415\u041d\u0418\u042f \u041f\u0420\u041e\u0426\u0415\u0414\u0423\u0420\u042b\n"+"\u041d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u043c \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044e \u043e\u0442\u043a\u0430\u0437 \u043e\u0442 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b \u2116 {registry_number}.\n"+ '\u041e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f \u043e\u0442\u043a\u0430\u0437\u0430: {cancel_basis}\u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e.\n'+'\u0417\u0430\u043a\u0443\u043f\u043a\u0430 \u043e\u0442\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0432\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u044f \u043e\u0431\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u0441\u0442\u0432 \u043d\u0435\u043f\u0440\u0435\u043e\u0434\u043e\u043b\u0438\u043c\u043e\u0439 \u0441\u0438\u043b\u044b \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0433\u0440\u0430\u0436\u0434\u0430\u043d\u0441\u043a\u0438\u043c \u0437\u0430\u043a\u043e\u043d\u043e\u0434\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e\u043c: \u0434\u0430\n'+ "{date_cancelled}\n"+"{user_fio}\n")} function getLotCancelTemplate(){return new Ext.XTemplate("\u041e\u0422\u041a\u0410\u0417 \u041e\u0422 \u041f\u0420\u041e\u0412\u0415\u0414\u0415\u041d\u0418\u042f \u041b\u041e\u0422\u0410\n"+"\u041d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u043c \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044e \u043e\u0442\u043a\u0430\u0437 \u043e\u0442 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043b\u043e\u0442\u0430 \u2116 {lot_number} \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b \u2116 {registry_number}.\n"+'\u041e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f \u043e\u0442\u043a\u0430\u0437\u0430: {cancel_basis}\u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e.\n'+ "{date_cancelled}\n"+"{user_fio}\n")} function getProcedureDocumentAddTemplate(){return new Ext.XTemplate("\u041d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u043c \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043f\u0440\u043e\u0447\u0438\u0445 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432 \u043b\u043e\u0442\u0430 \u2116 {lot_number} \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b \u2116 {registry_number}.\n"+"{user_fio}\n"+ "\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b:\n")} function getProcedureOperatorDocumentAddTemplate(){return new Ext.XTemplate("\u041d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u043c \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0432 \u0438\u0437\u0432\u0435\u0449\u0435\u043d\u0438\u0435 \u043b\u043e\u0442\u0430 \u2116 {lot_number} \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b \u2116 {registry_number}.\n"+"{user_fio}\n"+ "\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b:\n"+"{files_text}")} function getProcedureDataForIntentionTemplate(){var procedureDataTemplate=new Ext.XTemplate(''+""+""+""+ ""+''+"
    \u041d\u043e\u043c\u0435\u0440 \u0437\u0430\u043a\u0443\u043f\u043a\u0438:{registry_number}, \u043b\u043e\u0442 \u2116{values.lot.number}
    \u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u043a\u0443\u043f\u043a\u0438:{title}
    \u0421\u043f\u043e\u0441\u043e\u0431 \u0437\u0430\u043a\u0443\u043f\u043a\u0438:{procedure_type_vocab}
    \u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0442\u043e\u0440:{org_full_name}
    \u0414\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043c\u044f \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u043f\u043e\u0434\u0430\u0447\u0438 \u0437\u0430\u044f\u0432\u043e\u043a:{[fm.localDateText(values.date_end_registration)]}
    ");return procedureDataTemplate} function getSignIntentionTemplate(){var procedureDataTemplate=new Ext.XTemplate("\u041d\u043e\u043c\u0435\u0440 \u0437\u0430\u043a\u0443\u043f\u043a\u0438: {registry_number}, \u043b\u043e\u0442 \u2116{values.lot.number}\n"+"\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u043a\u0443\u043f\u043a\u0438: {title}\n"+"\u0421\u043f\u043e\u0441\u043e\u0431 \u0437\u0430\u043a\u0443\u043f\u043a\u0438: {procedure_type_vocab}\n"+"\u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0442\u043e\u0440: {org_full_name}\n"+ "\u0414\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043c\u044f \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u043f\u043e\u0434\u0430\u0447\u0438 \u0437\u0430\u044f\u0432\u043e\u043a: {[fm.localDateText(values.date_end_registration)]}\n");return procedureDataTemplate} function getIntentionViewTemplate(){var procedureDataTemplate=new Ext.XTemplate(''+""+""+"
    \u041d\u043e\u043c\u0435\u0440 \u0437\u0430\u043a\u0443\u043f\u043a\u0438:{registry_number}, \u043b\u043e\u0442 \u2116{values.lot.number}
    \u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u043a\u0443\u043f\u043a\u0438:{title}
    ");return procedureDataTemplate} function getContractsTemplate(){return new Ext.XTemplate('
    '+""+"
    \u0414\u0430\u043d\u043d\u044b\u0435:
    {message}
    ")} function getContractsInfoTemplate(){return new Ext.XTemplate(''+""+""+""+ ""+""+""+""+ ""+ ""+ ""+""+""+""+""+ ""+ ""+ ""+ ""+""+ "
    \u0420\u0435\u0435\u0441\u0442\u0440\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0415\u0418\u0421:{contractRegNumber}
    \u041d\u043e\u043c\u0435\u0440 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430:{name}
    \u0414\u0430\u0442\u0430 \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u0439 \u043e \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0435:{[fm.localDateOnlyRenderer(values.publicationDate)]}
    \u0421\u0442\u0430\u0442\u0443\u0441:{statusText}
    \u0412\u0435\u0440\u0441\u0438\u044f \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u0439:{version}
    \u0414\u0430\u0442\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430:{[fm.localDateOnlyRenderer(values.contractDate)]}
    \u0418\u0437\u0432\u0435\u0449\u0435\u043d\u0438\u0435 \u043f\u043e 44-\u0424\u0417:{[booleanRenderer(values.notice44)]}
    \u0418\u0437\u0432\u0435\u0449\u0435\u043d\u0438\u0435 \u043d\u0435 \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u043b\u043e\u0441\u044c \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0447\u0430\u0441\u0442\u044c\u044e 5 \u0441\u0442\u0430\u0442\u044c\u0438 4 \u0424\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0417\u0430\u043a\u043e\u043d\u0430 \u2116 223-\u0424\u0417:{[booleanRenderer(values.noticeNotPlacedByFz223p5s4)]}
    \u0417\u0430\u043a\u0443\u043f\u043a\u0430 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435 \u0430\u0432\u0430\u0440\u0438\u0438, \u0438\u043d\u044b\u0445 \u0447\u0440\u0435\u0437\u0432\u044b\u0447\u0430\u0439\u043d\u044b\u0445 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0439 \u043f\u0440\u0438\u0440\u043e\u0434\u043d\u043e\u0433\u043e \u0438\u043b\u0438 \u0442\u0435\u0445\u043d\u043e\u0433\u0435\u043d\u043d\u043e\u0433\u043e \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0430, \u043d\u0435\u043f\u0440\u0435\u043e\u0434\u043e\u043b\u0438\u043c\u043e\u0439 \u0441\u0438\u043b\u044b, \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u0440\u043e\u0447\u043d\u043e\u0433\u043e \u043c\u0435\u0434\u0438\u0446\u0438\u043d\u0441\u043a\u043e\u0433\u043e \u0432\u043c\u0435\u0448\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0443\u0433\u0440\u043e\u0437\u044b \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0439:{[booleanRenderer(values.emergency)]}
    \u0418\u0437\u0432\u0435\u0449\u0435\u043d\u0438\u0435 \u043e \u0437\u0430\u043a\u0443\u043f\u043a\u0435:{purchaseNoticeInfoText}
    \u041f\u0440\u0435\u0434\u043c\u0435\u0442 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430:{subjectContract}
    \u041b\u043e\u0442:{lotNum}
    \u0421\u043f\u043e\u0441\u043e\u0431 \u0437\u0430\u043a\u0443\u043f\u043a\u0438:{purchaseTypeInfoText}
    \u0417\u0430\u043a\u0443\u043f\u043a\u0430 \u0431\u044b\u043b\u0430 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u0435\u043d\u0430 \u0432 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435:{[booleanRenderer(values.digitalPurchase)]}
    \u0417\u0430\u043a\u0443\u043f\u043a\u0430 \u0443 \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u0430 \u043c\u0430\u043b\u043e\u0433\u043e \u0438 \u0441\u0440\u0435\u0434\u043d\u0435\u0433\u043e \u043f\u0440\u0435\u0434\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0437\u0430\u043a\u0443\u043f\u043a\u0430, \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430\u043c\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u044b \u043c\u0430\u043b\u043e\u0433\u043e \u0438 \u0441\u0440\u0435\u0434\u043d\u0435\u0433\u043e \u043f\u0440\u0435\u0434\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430:{[booleanRenderer(values.provider)]}
    \u0414\u043e\u0433\u043e\u0432\u043e\u0440\u043e\u043c \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043e \u043f\u0440\u0435\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432 \u0441\u0442\u043e\u0440\u043e\u043d \u043f\u043e \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0443 \u0432 \u0441\u0432\u044f\u0437\u0438 \u0441 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u0435\u043c \u0441\u0440\u043e\u043a\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430:{[booleanRenderer(values.termination)]}
    \u0414\u043e\u0433\u043e\u0432\u043e\u0440\u043e\u043c \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0434\u043b\u0435\u043d\u0438\u044f \u0441\u0440\u043e\u043a\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430 \u043f\u043e\u0441\u043b\u0435 \u0435\u0433\u043e \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f:{[booleanRenderer(values.extension)]}
    \u041f\u0440\u043e\u043b\u043e\u043d\u0433\u0430\u0446\u0438\u044f:{[booleanRenderer(values.prolongation)]}
    \u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f (\u0431\u0435\u0437\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f) \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0430 \u043e\u0431\u0436\u0430\u043b\u043e\u0432\u0430\u043d\u044b \u0432 \u0430\u043d\u0442\u0438\u043c\u043e\u043d\u043e\u043f\u043e\u043b\u044c\u043d\u043e\u043c \u043e\u0440\u0433\u0430\u043d\u0435 \u0438\u043b\u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u043e\u0434\u043e\u0431\u0440\u0435\u043d\u0438\u044f \u043e\u0440\u0433\u0430\u043d\u043e\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0430 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0437\u0430\u043a\u043e\u043d\u043e\u0434\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e\u043c \u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u043e\u0439 \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u0438 \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430:{[booleanRenderer(values.customerAppealedOrNeedsApproval)]}
    ")} function getContractsInfoCustomerTemplate(){return new Ext.XTemplate(''+""+""+""+ ""+""+""+ ""+"
    \u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0430:{iko}
    \u0421\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043d\u043e\u0435 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0430:{shortName}
    \u0418\u041d\u041d:{inn}
    \u041a\u041f\u041f:{kpp}
    \u0414\u0430\u0442\u0430 \u043f\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043d\u0430 \u0443\u0447\u0435\u0442 \u0432 \u043d\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u043c \u043e\u0440\u0433\u0430\u043d\u0435:{[fm.localDateOnlyRenderer(values.customerRegistrationDate)]}
    \u0412 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0438 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0430 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f, \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043f\u0443\u043d\u043a\u0442\u043e\u043c 2 \u0447\u0430\u0441\u0442\u0438 8.2 \u0441\u0442\u0430\u0442\u044c\u0438 3 \u0424\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0437\u0430\u043a\u043e\u043d\u0430 \u2116 223-\u0424\u0417:{[booleanRenderer(values.customerMonitoredCompliance)]}
    \u041e\u041a\u041f\u041e:{okpo}
    ")} function getContractsProtocolTemplate(){return new Ext.XTemplate(''+""+""+""+""+ "
    \u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430:{confirmingDocCodeTitle}
    \u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0437\u0430\u043a\u0443\u043f\u043a\u0438 :{protocolName}
    \u0414\u0430\u0442\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 :{[fm.localDateOnlyRenderer(values.docDate)]}
    \u041d\u043e\u043c\u0435\u0440 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 :{docNum}
    ")} function getContractsSubsTemplate(){return new Ext.XTemplate(''+""+''+ "
    \u041a \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043f\u0440\u0438\u0432\u043b\u0435\u0447\u0435\u043d\u044b \u0441\u0443\u0431\u043f\u043e\u0434\u0440\u044f\u0434\u0447\u0438\u043a\u0438 (\u0441\u043e\u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u0438) \u0438\u0437 \u0447\u0438\u0441\u043b\u0430 \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043c\u0430\u043b\u043e\u0433\u043e \u0438 (\u0438\u043b\u0438) \u0441\u0440\u0435\u0434\u043d\u0435\u0433\u043e \u043f\u0440\u0435\u0434\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430:{[booleanRenderer(values.hasSubcontractor)]}
    \u041e\u0431\u0449\u0430\u044f \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u043c (\u043f\u043e\u0434\u0440\u044f\u0434\u0447\u0438\u043a\u043e\u043c, \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u0435\u043c) \u0441 \u0441\u0443\u0431\u043f\u043e\u0434\u0440\u044f\u0434\u0447\u0438\u043a\u0430\u043c\u0438 (\u0441\u043e\u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044f\u043c\u0438) \u0438\u0437 \u0447\u0438\u0441\u043b\u0430 \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043c\u0430\u043b\u043e\u0433\u043e \u0438 \u0441\u0440\u0435\u0434\u043d\u0435\u0433\u043e \u043f\u0440\u0435\u0434\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430 \u0434\u043b\u044f \u0446\u0435\u043b\u0435\u0439 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430 \u0441 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u043e\u043c:{subcontractorsTotal}
    ")} function getContractsSubjectTemplate(){return new Ext.XTemplate(''+""+""+""+""+ "
    \u0426\u0435\u043d\u0430 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430:{price}
    \u0412\u0430\u043b\u044e\u0442\u0430:{currency}
    \u0414\u0430\u0442\u0430 \u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430:{startExecutionDate}
    \u0414\u0430\u0442\u0430 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430:{endExecutionDate}
    ")} function getContractsUnitsTemplate(){return new Ext.XTemplate(''+""+""+""+""+ ""+""+ ""+""+""+"
    \u041d\u043e\u043c\u0435\u0440 \u043f\u043e\u0437\u0438\u0446\u0438\u0438:{ordinalNumber}
    \u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u043e\u0432\u0430\u0440\u043e\u0432, \u0440\u0430\u0431\u043e\u0442, \u0443\u0441\u043b\u0443\u0433:{name}
    \u041e\u041a\u041f\u04142:{okpd2Text}
    \u0422\u0438\u043f \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0437\u0430\u043a\u0443\u043f\u043a\u0438:{typeObjectPurchaseText}
    \u0422\u0438\u043f \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f:{typeProvisionText}
    \u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e (\u043e\u0431\u044a\u0435\u043c):{[booleanRenderer(values.impossibleToDetermineAttr)]}
    \u0415\u0434\u0438\u043d\u0438\u0446\u0430 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f:{okeiText}
    \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e:{qty}
    \u0426\u0435\u043d\u0430 \u0437\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0443:{unitPrice}
    ")};Ext.ns("Ext.ux.state"); Ext.ux.state.WebStorageProvider=Ext.extend(Ext.state.Provider,{constructor:function(config){Ext.ux.state.WebStorageProvider.superclass.constructor.call(this);this.isSession=false;if(config)Ext.apply(this,config);if(this.isSession)this.storage=window.sessionStorage;else this.storage=window.localStorage||window.globalStorage[window.location.hostname];for(var i=0;i/g,"/>");xmlcode=xmlcode.replace(/<\?[^>]*>/g,"").replace(/]*>/g,"");if(!ignoretags.sort)ignoretags=ignoretags.split(",");var x=this.no_fast_endings(xmlcode);x=this.attris_to_tags(x);x=escape(x);x=x.split("%3C").join("<").split("%3E").join(">").split("%3D").join("=").split("%22").join('"');for(var i=0;i","g"),"*$**"+ ignoretags[i]+"**$*");x=x.replace(new RegExp("","g"),"*$***"+ignoretags[i]+"**$*")}x=""+x+"";this.xmlobject={};var y=this.xml_to_object(x).jsontagwrapper;if(debug)y=this.show_json_structure(y,debug);return y}catch(e){return null}},xml_to_object:function(xmlcode){var x=xmlcode.replace(/<\//g,"\u00a7");x=x.split("<");var y=[];var level=0;var opentags=[];for(var i=1;i")[0];opentags.push(tagname);level++;y.push(level+ "<"+x[i].split("\u00a7")[0]);while(x[i].indexOf("\u00a7"+opentags[opentags.length-1]+">")>=0){level--;opentags.pop()}}var oldniva=-1;var objname="this.xmlobject";for(var i=0;i")[0];tagnamn=tagnamn.toLowerCase();var rest=y[i].split(">")[1];if(niva<=oldniva){var tabort=oldniva-niva+1;for(var j=0;j")}}else rest="{}";if(rest.charAt(0)=="'")rest="unescape("+rest+")";if(already&&!eval(objname+".sort"))preeval+=objname+"=["+objname+"];\n";var before="=";after="";if(already){before=".push(";after=")"}var toeval=preeval+objname+before+rest+after;eval(toeval);if(eval(objname+".sort"))objname+="["+eval(objname+".length-1")+"]";oldniva=niva}return this.xmlobject},show_json_structure:function(obj,debug,l){var x="";if(obj.sort)x+= "[\n";else x+="{\n";for(var i in obj){if(!obj.sort)x+=i+":";if(typeof obj[i]=="object")x+=this.show_json_structure(obj[i],false,1);else if(typeof obj[i]=="function"){var v=obj[i]+"";x+=v}else if(typeof obj[i]!="string")x+=obj[i]+",\n";else x+="'"+obj[i].replace(/'/g,"\\'").replace(/\n/g,"\\n").replace(/\t/g,"\\t").replace(/\r/g,"\\r")+"',\n"}if(obj.sort)x+="],\n";else x+="},\n";if(!l){x=x.substring(0,x.lastIndexOf(","));x=x.replace(new RegExp(",\n}","g"),"\n}");x=x.replace(new RegExp(",\n]","g"), "\n]");var y=x.split("\n");x="";var lvl=0;for(var i=0;i=0||y[i].indexOf("]")>=0)lvl--;tabs="";for(var j=0;j=0||y[i].indexOf("[")>=0)lvl++}if(debug=="html"){x=x.replace(//g,">");x=x.replace(/\n/g,"
    ").replace(/\t/g,"    ")}if(debug=="compact")x=x.replace(/\n/g,"").replace(/\t/g,"")}return x},no_fast_endings:function(x){x=x.split("/>");for(var i=1;i"+x[i]}x=x.join("");return x},attris_to_tags:function(x){var d=" =\"'".split("");x=x.split(">");for(var i=0;i");x=x.replace(/ ([^=]*)=([^ |>]*)/g,"><$1>$2"/g,">").replace(/"\/]/g,"");midasCmdButton={iconCls:iconCls,handler:function(){this.cmp.relayCmd(b.cmd,b.value)},scope:this,tooltip:b.tooltip||{title:b.title},overflowText:b.overflowText||b.title}}else midasCmdButton=new Ext.Toolbar.Separator;btn=tb.addButton(midasCmdButton);if(b.enableOnSelection)btn.disable();this.btns.push(btn)},this)},onEditorEvent:function(){var doc=this.cmp.getDoc(); Ext.each(this.btns,function(b,i){if(this.midasBtns[i].enableOnSelection||this.midasBtns[i].disableOnSelection)if(doc.getSelection)if(this.midasBtns[i].enableOnSelection&&doc.getSelection()!==""||this.midasBtns[i].disableOnSelection&&doc.getSelection()==="")b.enable();else b.disable();else if(doc.selection)if(this.midasBtns[i].enableOnSelection&&doc.selection.createRange().text!==""||this.midasBtns[i].disableOnSelection&&doc.selection.createRange().text==="")b.enable();else b.disable();if(this.midasBtns[i].monitorCmdState)b.toggle(doc.queryCommandState(this.midasBtns[i].cmd))}, this)}});Ext.ux.form.HtmlEditor.Divider=Ext.extend(Ext.util.Observable,{init:function(cmp){this.cmp=cmp;this.cmp.on("render",this.onRender,this)},onRender:function(){this.cmp.getToolbar().addButton([new Ext.Toolbar.Separator])}});Ext.ux.form.HtmlEditor.HR=Ext.extend(Ext.util.Observable,{langTitle:"Horizontal Rule",langHelp:"Enter the width of the Rule in percentage
    followed by the % sign at the end, or to
    set a fixed width ommit the % symbol.",langInsert:"Insert",langCancel:"Cancel",langWidth:"Width",defaultHRWidth:"100%",cmd:"hr",init:function(cmp){this.cmp=cmp;this.cmp.on("render",this.onRender,this)},onRender:function(){var cmp=this.cmp;var btn=this.cmp.getToolbar().addButton({iconCls:"x-edit-hr",handler:function(){if(!this.hrWindow)this.hrWindow= new Ext.Window({title:this.langTitle,width:240,closeAction:"hide",items:[{itemId:"insert-hr",xtype:"form",border:false,plain:true,bodyStyle:"padding: 10px;",labelWidth:60,labelAlign:"right",items:[{xtype:"label",html:this.langHelp+"
     "},{xtype:"textfield",maskRe:/[0-9]|%/,regex:/^[1-9][0-9%]{1,3}/,fieldLabel:this.langWidth,name:"hrwidth",width:60,value:this.defaultHRWidth,listeners:{specialkey:function(f,e){if((e.getKey()==e.ENTER||e.getKey()==e.RETURN)&&f.isValid())this.doInsertHR()},scope:this}}]}], buttons:[{text:this.langInsert,handler:function(){var frm=this.hrWindow.getComponent("insert-hr").getForm();if(frm.isValid())this.doInsertHR();else frm.findField("hrwidth").getEl().frame()},scope:this},{text:this.langCancel,handler:function(){this.hrWindow.hide()},scope:this}],listeners:{render:Ext.isGecko?this.focusHRLong:this.focusHR,show:this.focusHR,move:this.focusHR,scope:this}});else this.hrWindow.getEl().frame();this.hrWindow.show()},scope:this,tooltip:{title:this.langInsert+" "+this.langTitle}, overflowText:this.langTitle})},focusHRLong:function(w){this.focus(w,600)},focusHR:function(w){this.focus(w,100)},focus:function(win,delay){win.getComponent("insert-hr").getForm().findField("hrwidth").focus(true,delay)},doInsertHR:function(){var frm=this.hrWindow.getComponent("insert-hr").getForm();if(frm.isValid()){var hrwidth=frm.findField("hrwidth").getValue();if(hrwidth)this.insertHR(hrwidth);else this.insertHR(this.defaultHRWidth);frm.reset();this.hrWindow.hide()}},insertHR:function(w){this.cmp.insertAtCursor('
    ')}});Ext.ux.form.HtmlEditor.Image=Ext.extend(Ext.util.Observable,{langTitle:"Insert Image",urlSizeVars:["width","height"],basePath:"image.php",init:function(cmp){this.cmp=cmp;this.cmp.on("render",this.onRender,this);this.cmp.on("initialize",this.onInit,this,{delay:100,single:true})},onEditorMouseUp:function(e){Ext.get(e.getTarget()).select("img").each(function(el){var w=el.getAttribute("width"),h=el.getAttribute("height"),src=el.getAttribute("src")+" ";src=src.replace(new RegExp(this.urlSizeVars[0]+"=[0-9]{1,5}([&| ])"), this.urlSizeVars[0]+"="+w+"$1");src=src.replace(new RegExp(this.urlSizeVars[1]+"=[0-9]{1,5}([&| ])"),this.urlSizeVars[1]+"="+h+"$1");el.set({src:src.replace(/\s+$/,"")})},this)},onInit:function(){Ext.EventManager.on(this.cmp.getDoc(),{"mouseup":this.onEditorMouseUp,buffer:100,scope:this})},onRender:function(){var btn=this.cmp.getToolbar().addButton({iconCls:"x-edit-image",handler:this.selectImage,scope:this,tooltip:{title:this.langTitle},overflowText:this.langTitle})},selectImage:Ext.emptyFn,insertImage:function(img){this.cmp.insertAtCursor(''+img.Name+'')}});Ext.ux.form.HtmlEditor.RemoveFormat=Ext.extend(Ext.ux.form.HtmlEditor.MidasCommand,{midasBtns:["|",{enableOnSelection:true,cmd:"removeFormat",tooltip:{title:"Remove Formatting"},overflowText:"Remove Formatting"}]});Ext.ux.form.HtmlEditor.IndentOutdent=Ext.extend(Ext.ux.form.HtmlEditor.MidasCommand,{midasBtns:["|",{cmd:"indent",tooltip:{title:"Indent Text"},overflowText:"Indent Text"},{cmd:"outdent",tooltip:{title:"Outdent Text"},overflowText:"Outdent Text"}]});Ext.ux.form.HtmlEditor.SubSuperScript=Ext.extend(Ext.ux.form.HtmlEditor.MidasCommand,{midasBtns:["|",{enableOnSelection:true,cmd:"subscript",tooltip:{title:"Subscript"},overflowText:"Subscript"},{enableOnSelection:true,cmd:"superscript",tooltip:{title:"Superscript"},overflowText:"Superscript"}]});Ext.ux.form.HtmlEditor.FindAndReplace=Ext.extend(Ext.util.Observable,{langTitle:"Find/Replace",langFind:"Find",langReplace:"Replace",langReplaceWith:"Replace with",langClose:"Close",cmd:"findandreplace",init:function(cmp){this.cmp=cmp;this.cmp.on({"render":this.onRender,"editmodechange":this.editModeChange,scope:this});this.lastSelectionStart=-1},editModeChange:function(t,m){if(this.btn&&m)this.btn.setDisabled(false)},onRender:function(){this.btn=this.cmp.getToolbar().addButton({iconCls:"x-edit-findandreplace", sourceEditEnabled:true,handler:function(){if(!this.farWindow)this.farWindow=new Ext.Window({title:this.langTitle,closeAction:"hide",width:270,items:[{itemId:"findandreplace",xtype:"form",border:false,plain:true,bodyStyle:"padding: 10px;",labelWidth:80,labelAlign:"right",items:[{xtype:"textfield",allowBlank:false,fieldLabel:this.langFind,name:"find",width:145},{xtype:"textfield",allowBlank:true,fieldLabel:this.langReplaceWith,name:"replace",width:145}]}],buttons:[{text:this.langFind,handler:this.doFind, scope:this},{text:this.langReplace,handler:this.doReplace,scope:this},{text:this.langClose,handler:function(){this.farWindow.hide()},scope:this}]});else this.farWindow.getEl().frame();this.farWindow.show()},scope:this,tooltip:{title:this.langTitle},overflowText:this.langTitle})},doFind:function(){var frm=this.farWindow.getComponent("findandreplace").getForm();if(!frm.isValid())return"";var findValue=frm.findField("find").getValue();var replaceValue=frm.findField("replace").getValue();if(this.cmp.sourceEditMode){var textarea= this.cmp.el.dom;var startPos=textarea.selectionStart===this.lastSelectionStart?textarea.selectionStart+1:textarea.selectionStart;var txt=textarea.value.substring(startPos);var regexp=new RegExp(findValue);var r=txt.search(regexp);if(r==-1)return;this.lastSelectionStart=startPos+r;if(Ext.isGecko){textarea.setSelectionRange(this.lastSelectionStart,this.lastSelectionStart+findValue.length);this.cmp.scrollIntoView(startPos);this.cmp.focus(false,true)}return}},doReplace:function(){var frm=this.farWindow.getComponent("findandreplace").getForm(); if(!frm.isValid())return"";var findValue=frm.findField("find").getValue();var replaceValue=frm.findField("replace").getValue();if(this.cmp.sourceEditMode){var textarea=this.cmp.el.dom;var startPos=textarea.selectionStart;var endPos=textarea.selectionEnd;var txt=textarea.value;if(Ext.isGecko){var scrollPosition=textarea.scrollTop;textarea.value=txt.substring(0,startPos)+replaceValue+txt.substring(endPos);textarea.setSelectionRange(startPos,startPos+replaceValue.length);textarea.scrollTop=scrollPosition; this.cmp.focus(false,true)}return}return}});Ext.ux.form.HtmlEditor.Table=Ext.extend(Ext.util.Observable,{langTitle:"Insert Table",langInsert:"Insert",langCancel:"Cancel",langRows:"Rows",langColumns:"Columns",langBorder:"Border",langCellLabel:"Label Cells",cmd:"table",showCellLocationText:true,cellLocationText:"{0} - {1}",tableBorderOptions:[["none","None"],["1px solid #000","Sold Thin"],["2px solid #000","Solid Thick"],["1px dashed #000","Dashed"],["1px dotted #000","Dotted"]],init:function(cmp){this.cmp=cmp;this.cmp.on("render", this.onRender,this)},onRender:function(){var btn=this.cmp.getToolbar().addButton({iconCls:"x-edit-table",handler:function(){if(!this.tableWindow)this.tableWindow=new Ext.Window({title:this.langTitle,closeAction:"hide",width:235,items:[{itemId:"insert-table",xtype:"form",border:false,plain:true,bodyStyle:"padding: 10px;",labelWidth:65,labelAlign:"right",items:[{xtype:"numberfield",allowBlank:false,allowDecimals:false,fieldLabel:this.langRows,name:"row",width:60},{xtype:"numberfield",allowBlank:false, allowDecimals:false,fieldLabel:this.langColumns,name:"col",width:60},{xtype:"combo",fieldLabel:this.langBorder,name:"border",forceSelection:true,mode:"local",store:new Ext.data.ArrayStore({autoDestroy:true,fields:["spec","val"],data:this.tableBorderOptions}),triggerAction:"all",value:"none",displayField:"val",valueField:"spec",anchor:"-15"},{xtype:"checkbox",fieldLabel:this.langCellLabel,checked:this.showCellLocationText,listeners:{check:function(){this.showCellLocationText=!this.showCellLocationText}, scope:this}}]}],buttons:[{text:this.langInsert,handler:function(){var frm=this.tableWindow.getComponent("insert-table").getForm();if(frm.isValid()){var border=frm.findField("border").getValue();var rowcol=[frm.findField("row").getValue(),frm.findField("col").getValue()];if(rowcol.length==2&&rowcol[0]>0&&rowcol[1]>0){var colwidth=Math.floor(100/rowcol[0]);var html="";var cellText=" ";if(this.showCellLocationText)cellText=this.cellLocationText;for(var row= 0;row";for(var col=0;col"+String.format(cellText,row+1,String.fromCharCode(col+65))+"";html+=""}html+="
    ";this.cmp.insertAtCursor(html)}this.tableWindow.hide()}else if(!frm.findField("row").isValid())frm.findField("row").getEl().frame();else if(!frm.findField("col").isValid())frm.findField("col").getEl().frame()},scope:this},{text:this.langCancel,handler:function(){this.tableWindow.hide()}, scope:this}]});else this.tableWindow.getEl().frame();this.tableWindow.show()},scope:this,tooltip:{title:this.langTitle},overflowText:this.langTitle})}});Ext.ux.form.HtmlEditor.Word=Ext.extend(Ext.util.Observable,{langTitle:"Word Paste",langToolTip:"Cleanse text pasted from Word or other Rich Text applications",wordPasteEnabled:true,curLength:0,lastLength:0,lastValue:"",init:function(cmp){this.cmp=cmp;this.cmp.on("render",this.onRender,this);this.cmp.on("initialize",this.onInit,this,{delay:100,single:true})},onInit:function(){Ext.EventManager.on(this.cmp.getDoc(),{"keyup":this.checkIfPaste,scope:this});this.lastValue=this.cmp.getValue();this.curLength= this.lastValue.length;this.lastLength=this.lastValue.length},checkIfPaste:function(e){var diffAt=0;this.curLength=this.cmp.getValue().length;if(e.V==e.getKey()&&e.ctrlKey&&this.wordPasteEnabled){this.cmp.suspendEvents();diffAt=this.findValueDiffAt(this.cmp.getValue());var parts=[this.cmp.getValue().substr(0,diffAt),this.fixWordPaste(this.cmp.getValue().substr(diffAt,this.curLength-this.lastLength)),this.cmp.getValue().substr(this.curLength-this.lastLength+diffAt,this.curLength)];this.cmp.setValue(parts.join("")); this.cmp.resumeEvents()}this.lastLength=this.cmp.getValue().length;this.lastValue=this.cmp.getValue()},findValueDiffAt:function(val){for(var i=0;i]*>.*?<\/\1>/ig,/<\/?(meta|object|span)[^>]*>/ig,/<\/?[A-Z0-9]*:[A-Z]*[^>]*>/ig,/(lang|class|type|href|name|title|id|clear)="[^"]*"/ig,/style=(''|"")/ig,//g,/MsoNormal/g,/<\\?\?xml[^>]*>/g,/<\/?o:p[^>]*>/g, /<\/?v:[^>]*>/g,/<\/?o:[^>]*>/g,/<\/?st1:[^>]*>/g,/ /g,/<\/?SPAN[^>]*>/g,/<\/?FONT[^>]*>/g,/<\/?STRONG[^>]*>/g,/<\/?H1[^>]*>/g,/<\/?H2[^>]*>/g,/<\/?H3[^>]*>/g,/<\/?H4[^>]*>/g,/<\/?H5[^>]*>/g,/<\/?H6[^>]*>/g,/<\/?P[^>]*><\/P>/g,/\x3c!--(.*)--\x3e/g,/\x3c!--(.*)>/g,/]*>/g,/<\/?o:p[^>]*>/g,/<\/?v:[^>]*>/g,/<\/?o:[^>]*>/g,/<\/?st1:[^>]*>/g,/style="[^"]*"/g,/style='[^"]*'/g,/lang="[^"]*"/g,/lang='[^"]*'/g,/class="[^"]*"/g,/class='[^"]*'/g,/type="[^"]*"/g,/type='[^"]*'/g, /href='#[^"]*'/g,/href="#[^"]*"/g,/name="[^"]*"/g,/name='[^"]*'/g,/ clear="all"/g,/id="[^"]*"/g,/title="[^"]*"/g,/]*>/g,/<\/?span[^>]*>/g,/(.*)<\/title>/g,/class=/g,/<meta[^>]*>/g,/<link[^>]*>/g,/<style>(.*)<\/style>/g,/<w:[^>]*>(.*)<\/w:[^>]*>/g];Ext.each(removals,function(s){wordPaste=wordPaste.replace(s,"")});wordPaste=wordPaste.replace(/<div[^>]*>/g,"<p>");wordPaste=wordPaste.replace(/<\/?div[^>]*>/g,"</p>");return wordPaste},onRender:function(){this.cmp.getToolbar().add({iconCls:"x-edit-wordpaste", pressed:true,handler:function(t){t.toggle(!t.pressed);this.wordPasteEnabled=!this.wordPasteEnabled},scope:this,tooltip:{text:this.langToolTip},overflowText:this.langTitle})}});Ext.ux.form.HtmlEditor.Link=Ext.extend(Ext.util.Observable,{langTitle:"Insert Link",langInsert:"Insert",langCancel:"Cancel",langTarget:"Target",langURL:"URL",langText:"Text",linkTargetOptions:[["_self","Default"],["_blank","New Window"],["_parent","Parent Window"],["_top","Entire Window"]],init:function(cmp){cmp.enableLinks=false;this.cmp=cmp;this.cmp.on("render",this.onRender,this)},onRender:function(){var cmp=this.cmp;var btn=this.cmp.getToolbar().addButton({iconCls:"x-edit-createlink",handler:function(){var sel= this.cmp.getSelectedText();if(!this.linkWindow){this.linkWindow=new Ext.Window({title:this.langTitle,closeAction:"hide",width:450,height:160,layout:"fit",items:[{xtype:"form",itemId:"insert-link",border:false,plain:true,bodyStyle:"padding: 10px;",labelWidth:80,labelAlign:"right",items:[{xtype:"textfield",fieldLabel:this.langText,name:"text",anchor:"100%",value:""},{xtype:"textfield",fieldLabel:this.langURL,name:"url",anchor:"100%",value:"http://"},{xtype:"combo",fieldLabel:this.langTarget,name:"target", forceSelection:true,mode:"local",store:new Ext.data.ArrayStore({autoDestroy:true,fields:["spec","val"],data:this.linkTargetOptions}),triggerAction:"all",value:"_self",displayField:"val",valueField:"spec",anchor:"100%"}]}],buttons:[{text:this.langInsert,handler:function(){var frm=this.linkWindow.getComponent("insert-link").getForm();if(frm.isValid()){var afterSpace="",sel=this.cmp.getSelectedText(true),text=frm.findField("text").getValue(),url=frm.findField("url").getValue(),target=frm.findField("target").getValue(); if(text.length&&text[text.length-1]==" "){text=text.substr(0,text.length-1);afterSpace=" "}if(sel.hasHTML)text=sel.html;var html='<a href="'+url+'" target="'+target+'">'+text+"</a>"+afterSpace;this.cmp.insertAtCursor(html);this.linkWindow.hide()}else if(!frm.findField("url").isValid())frm.findField("url").getEl().frame();else if(!frm.findField("target").isValid())frm.findField("target").getEl().frame()},scope:this},{text:this.langCancel,handler:function(){this.linkWindow.hide()},scope:this}],listeners:{show:{fn:function(){var frm= this.linkWindow.getComponent("insert-link").getForm();frm.findField("text").setValue(sel.textContent).setDisabled(sel.hasHTML);var url=frm.findField("url");if(url){url.reset();url.focus(true,50)}},scope:this,defer:350}}});this.linkWindow.show()}else{this.linkWindow.show();this.linkWindow.getEl().frame()}},scope:this,tooltip:this.langTitle})}});Ext.ux.form.HtmlEditor.SpecialCharacters=Ext.extend(Ext.util.Observable,{langTitle:"Insert Special Character",langInsert:"Insert",langCancel:"Cancel",specialChars:[153],charRange:[160,256],chars:[],init:function(cmp){this.cmp=cmp;this.cmp.on("render",this.onRender,this)},onRender:function(){var cmp=this.cmp;var btn=this.cmp.getToolbar().addButton({iconCls:"x-edit-char",handler:function(){if(!this.chars.length){if(this.specialChars.length)Ext.each(this.specialChars,function(c,i){this.chars[i]=["&#"+ c+";"]},this);for(var i=this.charRange[0];i<this.charRange[1];i++)this.chars.push(["&#"+i+";"])}var charStore=new Ext.data.ArrayStore({fields:["char"],data:this.chars});this.charWindow=new Ext.Window({title:this.langTitle,width:436,autoHeight:true,layout:"fit",items:[{xtype:"dataview",store:charStore,ref:"charView",autoHeight:true,multiSelect:true,tpl:new Ext.XTemplate('<tpl for="."><div class="char-item">{char}</div></tpl><div class="x-clear"></div>'),overClass:"char-over",itemSelector:"div.char-item", listeners:{dblclick:function(t,i,n,e){this.insertChar(t.getStore().getAt(i).get("char"));this.charWindow.close()},scope:this}}],buttons:[{text:this.langInsert,handler:function(){Ext.each(this.charWindow.charView.getSelectedRecords(),function(rec){var c=rec.get("char");this.insertChar(c)},this);this.charWindow.close()},scope:this},{text:this.langCancel,handler:function(){this.charWindow.close()},scope:this}]});this.charWindow.show()},scope:this,tooltip:{title:this.langTitle},overflowText:this.langTitle})}, insertChar:function(c){if(c)this.cmp.insertAtCursor(c)}});Ext.ux.form.HtmlEditor.UndoRedo=Ext.extend(Ext.ux.form.HtmlEditor.MidasCommand,{midasBtns:["|",{cmd:"undo",tooltip:{title:"Undo"},overflowText:"Undo"},{cmd:"redo",tooltip:{title:"Redo"},overflowText:"Redo"}]});Ext.ux.form.HtmlEditor.HeadingButtons=Ext.extend(Ext.ux.form.HtmlEditor.MidasCommand,{midasBtns:["|",{enableOnSelection:true,cmd:"formatblock",value:"<h1>",tooltip:{title:"1st Heading"},overflowText:"1st Heading"},{enableOnSelection:true,cmd:"formatblock",value:"<h2>",tooltip:{title:"2nd Heading"},overflowText:"2nd Heading"}]}); Ext.ux.form.HtmlEditor.HeadingMenu=Ext.extend(Ext.util.Observable,{init:function(cmp){this.cmp=cmp;this.cmp.on("render",this.onRender,this)},onRender:function(){var cmp=this.cmp;var btn=this.cmp.getToolbar().addItem({xtype:"combo",displayField:"display",valueField:"value",name:"headingsize",forceSelection:true,mode:"local",triggerAction:"all",width:65,emptyText:"Heading",store:{xtype:"arraystore",autoDestroy:true,fields:["value","display"],data:[["H1","H1"],["H2","H2"],["H3","H3"],["H4","H4"],["H5", "H5"],["H6","H6"]]},listeners:{"select":function(combo,rec){this.relayCmd("formatblock","<"+rec.get("value")+">");combo.reset()},scope:cmp}})}});Ext.ux.form.HtmlEditor.Font=Ext.extend(Ext.util.Observable,{init:function(cmp){this.cmp=cmp;this.cmp.on("render",this.onRender,this)},onRender:function(){var cmp=this.cmp;var fonts=function(){var fnts=[];Ext.each(cmp.fontFamilies,function(itm){fnts.push([itm.toLowerCase(),itm])});return fnts}();var btn=this.cmp.getToolbar().addItem({xtype:"combo",displayField:"display",valueField:"value",name:"fontfamily",forceSelection:true,mode:"local",triggerAction:"all",width:80,emptyText:"Font",tpl:'<tpl for="."><div class="x-combo-list-item" style="font-family:{value};">{display}</div></tpl>', store:{xtype:"arraystore",autoDestroy:true,fields:["value","display"],data:fonts},listeners:{"select":function(combo,rec){this.relayCmd("fontname",rec.get("value"));this.deferFocus();combo.reset()},scope:cmp}})}});Ext.ux.form.HtmlEditor.plugins=function(){return[new Ext.ux.form.HtmlEditor.Link,new Ext.ux.form.HtmlEditor.Divider,new Ext.ux.form.HtmlEditor.Word,new Ext.ux.form.HtmlEditor.FindAndReplace,new Ext.ux.form.HtmlEditor.UndoRedo,new Ext.ux.form.HtmlEditor.Divider,new Ext.ux.form.HtmlEditor.Image,new Ext.ux.form.HtmlEditor.Table,new Ext.ux.form.HtmlEditor.HR,new Ext.ux.form.HtmlEditor.SpecialCharacters,new Ext.ux.form.HtmlEditor.HeadingMenu,new Ext.ux.form.HtmlEditor.IndentOutdent,new Ext.ux.form.HtmlEditor.SubSuperScript, new Ext.ux.form.HtmlEditor.RemoveFormat]};if(Ext.ux.form.HtmlEditor.HR){Ext.ux.form.HtmlEditor.HR.prototype.langTitle="\u0413\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c";Ext.ux.form.HtmlEditor.HR.prototype.langHelp="\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u0448\u0438\u0440\u0438\u043d\u0443 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044f \u0432 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0430\u0445<br/> (\u0441\u043e \u0437\u043d\u0430\u043a\u043e\u043c %), \u043b\u0438\u0431\u043e \u0431\u0435\u0437 %<br/>\u0434\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0448\u0438\u0440\u0438\u043d\u044b.", Ext.ux.form.HtmlEditor.HR.prototype.langInsert="\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c";Ext.ux.form.HtmlEditor.HR.prototype.langCancel="\u041e\u0442\u043c\u0435\u043d\u0430";Ext.ux.form.HtmlEditor.HR.prototype.langWidth="\u0428\u0438\u0440\u0438\u043d\u0430";Ext.ux.form.HtmlEditor.HR.prototype.defaultHRWidth="80%"}if(Ext.ux.form.HtmlEditor.Image)Ext.ux.form.HtmlEditor.Image.prototype.langTitle="\u0412\u0441\u0442\u0430\u0432\u043a\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f"; if(Ext.ux.form.HtmlEditor.RemoveFormat)Ext.ux.form.HtmlEditor.RemoveFormat.prototype.midasBtns[1].tooltip.title="\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435"; if(Ext.ux.form.HtmlEditor.IndentOutdent){Ext.ux.form.HtmlEditor.IndentOutdent.prototype.midasBtns[1].tooltip.title="\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043e\u0442\u0441\u0442\u0443\u043f";Ext.ux.form.HtmlEditor.IndentOutdent.prototype.midasBtns[2].tooltip.title="\u0423\u0431\u0440\u0430\u0442\u044c \u043e\u0442\u0441\u0442\u0443\u043f"} if(Ext.ux.form.HtmlEditor.IndentOutdent){Ext.ux.form.HtmlEditor.SubSuperScript.prototype.midasBtns[1].tooltip.title="\u0412 \u043d\u0438\u0436\u043d\u0438\u0439 \u0438\u043d\u0434\u0435\u043a\u0441";Ext.ux.form.HtmlEditor.SubSuperScript.prototype.midasBtns[2].tooltip.title="\u0412 \u0432\u0435\u0440\u0445\u043d\u0438\u0439 \u0438\u043d\u0434\u0435\u043a\u0441"} if(Ext.ux.form.HtmlEditor.FindAndReplace){Ext.ux.form.HtmlEditor.FindAndReplace.prototype.langTitle="\u041f\u043e\u0438\u0441\u043a/\u0417\u0430\u043c\u0435\u043d\u0430";Ext.ux.form.HtmlEditor.FindAndReplace.prototype.langFind="\u041d\u0430\u0439\u0442\u0438";Ext.ux.form.HtmlEditor.FindAndReplace.prototype.langReplace="\u0417\u0430\u043c\u0435\u043d\u0438\u0442\u044c";Ext.ux.form.HtmlEditor.FindAndReplace.prototype.langReplaceWith="\u0417\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430";Ext.ux.form.HtmlEditor.FindAndReplace.prototype.langClose= "\u0417\u0430\u043a\u0440\u044b\u0442\u044c"} if(Ext.ux.form.HtmlEditor.Table){Ext.ux.form.HtmlEditor.Table.prototype.langTitle="\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443";Ext.ux.form.HtmlEditor.Table.prototype.langInsert="\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c";Ext.ux.form.HtmlEditor.Table.prototype.langCancel="\u041e\u0442\u043c\u0435\u043d\u0430";Ext.ux.form.HtmlEditor.Table.prototype.langRows="\u0421\u0442\u0440\u043e\u043a\u0438";Ext.ux.form.HtmlEditor.Table.prototype.langColumns="\u0421\u0442\u043e\u043b\u0431\u0446\u044b"; Ext.ux.form.HtmlEditor.Table.prototype.langBorder="\u0420\u0430\u043c\u043a\u0438";Ext.ux.form.HtmlEditor.Table.prototype.tableBorderOptions[0][1]="\u041d\u0435\u0442";Ext.ux.form.HtmlEditor.Table.prototype.tableBorderOptions[1][1]="\u0421\u043f\u043b\u043e\u0448\u043d\u044b\u0435 \u0442\u043e\u043d\u043a\u0438\u0435";Ext.ux.form.HtmlEditor.Table.prototype.tableBorderOptions[2][1]="\u0421\u043f\u043b\u043e\u0448\u043d\u044b\u0435 \u0442\u043e\u043b\u0441\u0442\u044b\u0435";Ext.ux.form.HtmlEditor.Table.prototype.tableBorderOptions[3][1]= "\u0422\u0438\u0440\u0435";Ext.ux.form.HtmlEditor.Table.prototype.tableBorderOptions[4][1]="\u0422\u043e\u0447\u043a\u0438";Ext.ux.form.HtmlEditor.Table.prototype.langCellLabel="\u041f\u043e\u0434\u043f\u0438\u0441\u0430\u0442\u044c \u044f\u0447\u0435\u0439\u043a\u0438"}if(Ext.ux.form.HtmlEditor.Word){Ext.ux.form.HtmlEditor.Word.prototype.langTitle="\u0412\u0441\u0442\u0430\u0432\u043a\u0430 \u0438\u0437 \u0412\u043e\u0440\u0434\u0430";Ext.ux.form.HtmlEditor.Word.prototype.langToolTip="\u0427\u0438\u0441\u0442\u0438\u0442\u044c \u0442\u0435\u043a\u0441\u0442, \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0439 \u0438\u0437 \u0412\u043e\u0440\u0434\u0430 \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u043e\u0432."} if(Ext.ux.form.HtmlEditor.Link){Ext.ux.form.HtmlEditor.Link.prototype.langTitle="\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443";Ext.ux.form.HtmlEditor.Link.prototype.langInsert="\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c";Ext.ux.form.HtmlEditor.Link.prototype.langCancel="\u041e\u0442\u043c\u0435\u043d\u0430";Ext.ux.form.HtmlEditor.Link.prototype.langTarget="\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0432";Ext.ux.form.HtmlEditor.Link.prototype.linkTargetOptions= [["_self","\u0442\u0435\u043a\u0443\u0449\u0435\u043c \u043e\u043a\u043d\u0435\u043c"],["_blank","\u043d\u043e\u0432\u043e\u043c \u043e\u043a\u043d\u0435"]];Ext.ux.form.HtmlEditor.Link.prototype.langURL="URL";Ext.ux.form.HtmlEditor.Link.prototype.langText="\u0422\u0435\u043a\u0441\u0442"} if(Ext.ux.form.HtmlEditor.SpecialCharacters){Ext.ux.form.HtmlEditor.SpecialCharacters.prototype.langTitle="\u0412\u0441\u0442\u0430\u0432\u043a\u0430 \u0441\u043f\u0435\u0446. \u0441\u0438\u043c\u0432\u043e\u043b\u0430";Ext.ux.form.HtmlEditor.SpecialCharacters.prototype.langInsert="\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c";Ext.ux.form.HtmlEditor.SpecialCharacters.prototype.langCancel="\u041e\u0442\u043c\u0435\u043d\u0430"} if(Ext.ux.form.HtmlEditor.UndoRedo){Ext.ux.form.HtmlEditor.UndoRedo.prototype.midasBtns[1].tooltip.title="\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c";Ext.ux.form.HtmlEditor.UndoRedo.prototype.midasBtns[2].tooltip.title="\u0412\u0435\u0440\u043d\u0443\u0442\u044c"};/* Bowser - a browser detector https://github.com/ded/bowser MIT License | (c) Dustin Diaz 2015 */ !function(root,name,definition){if(typeof module!="undefined"&&module.exports)module.exports=definition();else if(typeof define=="function"&&define.amd)define(name,definition);else root[name]=definition()}(this,"bowser",function(){var t=true;function detect(ua){function getFirstMatch(regex){var match=ua.match(regex);return match&&match.length>1&&match[1]||""}function getSecondMatch(regex){var match=ua.match(regex);return match&&match.length>1&&match[2]||""}var iosdevice=getFirstMatch(/(ipod|iphone|ipad)/i).toLowerCase(), likeAndroid=/like android/i.test(ua),android=!likeAndroid&&/android/i.test(ua),nexusMobile=/nexus\s*[0-6]\s*/i.test(ua),nexusTablet=!nexusMobile&&/nexus\s*[0-9]+/i.test(ua),chromeos=/CrOS/.test(ua),silk=/silk/i.test(ua),sailfish=/sailfish/i.test(ua),tizen=/tizen/i.test(ua),webos=/(web|hpw)(o|0)s/i.test(ua),windowsphone=/windows phone/i.test(ua),samsungBrowser=/SamsungBrowser/i.test(ua),windows=!windowsphone&&/windows/i.test(ua),mac=!iosdevice&&!silk&&/macintosh/i.test(ua),linux=!android&&!sailfish&& !tizen&&!webos&&/linux/i.test(ua),edgeVersion=getSecondMatch(/edg([ea]|ios)\/(\d+(\.\d+)?)/i),versionIdentifier=getFirstMatch(/version\/(\d+(\.\d+)?)/i),tablet=/tablet/i.test(ua)&&!/tablet pc/i.test(ua),mobile=!tablet&&/[^-]mobi/i.test(ua),xbox=/xbox/i.test(ua),result;if(/opera/i.test(ua))result={name:"Opera",opera:t,version:versionIdentifier||getFirstMatch(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)};else if(/opr\/|opios/i.test(ua))result={name:"Opera",opera:t,version:getFirstMatch(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i)|| versionIdentifier};else if(/SamsungBrowser/i.test(ua))result={name:"Samsung Internet for Android",samsungBrowser:t,version:versionIdentifier||getFirstMatch(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i)};else if(/Whale/i.test(ua))result={name:"NAVER Whale browser",whale:t,version:getFirstMatch(/(?:whale)[\s\/](\d+(?:\.\d+)+)/i)};else if(/MZBrowser/i.test(ua))result={name:"MZ Browser",mzbrowser:t,version:getFirstMatch(/(?:MZBrowser)[\s\/](\d+(?:\.\d+)+)/i)};else if(/coast/i.test(ua))result={name:"Opera Coast", coast:t,version:versionIdentifier||getFirstMatch(/(?:coast)[\s\/](\d+(\.\d+)?)/i)};else if(/focus/i.test(ua))result={name:"Focus",focus:t,version:getFirstMatch(/(?:focus)[\s\/](\d+(?:\.\d+)+)/i)};else if(/yabrowser/i.test(ua))result={name:"Yandex Browser",yandexbrowser:t,version:versionIdentifier||getFirstMatch(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)};else if(/ucbrowser/i.test(ua))result={name:"UC Browser",ucbrowser:t,version:getFirstMatch(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i)};else if(/mxios/i.test(ua))result= {name:"Maxthon",maxthon:t,version:getFirstMatch(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i)};else if(/epiphany/i.test(ua))result={name:"Epiphany",epiphany:t,version:getFirstMatch(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i)};else if(/puffin/i.test(ua))result={name:"Puffin",puffin:t,version:getFirstMatch(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i)};else if(/sleipnir/i.test(ua))result={name:"Sleipnir",sleipnir:t,version:getFirstMatch(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i)};else if(/k-meleon/i.test(ua))result={name:"K-Meleon", kMeleon:t,version:getFirstMatch(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i)};else if(windowsphone){result={name:"Windows Phone",osname:"Windows Phone",windowsphone:t};if(edgeVersion){result.msedge=t;result.version=edgeVersion}else{result.msie=t;result.version=getFirstMatch(/iemobile\/(\d+(\.\d+)?)/i)}}else if(/msie|trident/i.test(ua))result={name:"Internet Explorer",msie:t,version:getFirstMatch(/(?:msie |rv:)(\d+(\.\d+)?)/i)};else if(chromeos)result={name:"Chrome",osname:"Chrome OS",chromeos:t,chromeBook:t, chrome:t,version:getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)};else if(/edg([ea]|ios)/i.test(ua))result={name:"Microsoft Edge",msedge:t,version:edgeVersion};else if(/vivaldi/i.test(ua))result={name:"Vivaldi",vivaldi:t,version:getFirstMatch(/vivaldi\/(\d+(\.\d+)?)/i)||versionIdentifier};else if(sailfish)result={name:"Sailfish",osname:"Sailfish OS",sailfish:t,version:getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i)};else if(/seamonkey\//i.test(ua))result={name:"SeaMonkey",seamonkey:t,version:getFirstMatch(/seamonkey\/(\d+(\.\d+)?)/i)}; else if(/firefox|iceweasel|fxios/i.test(ua)){result={name:"Firefox",firefox:t,version:getFirstMatch(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i)};if(/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(ua)){result.firefoxos=t;result.osname="Firefox OS"}}else if(silk)result={name:"Amazon Silk",silk:t,version:getFirstMatch(/silk\/(\d+(\.\d+)?)/i)};else if(/phantom/i.test(ua))result={name:"PhantomJS",phantom:t,version:getFirstMatch(/phantomjs\/(\d+(\.\d+)?)/i)};else if(/slimerjs/i.test(ua))result={name:"SlimerJS", slimer:t,version:getFirstMatch(/slimerjs\/(\d+(\.\d+)?)/i)};else if(/blackberry|\bbb\d+/i.test(ua)||/rim\stablet/i.test(ua))result={name:"BlackBerry",osname:"BlackBerry OS",blackberry:t,version:versionIdentifier||getFirstMatch(/blackberry[\d]+\/(\d+(\.\d+)?)/i)};else if(webos){result={name:"WebOS",osname:"WebOS",webos:t,version:versionIdentifier||getFirstMatch(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)};/touchpad\//i.test(ua)&&(result.touchpad=t)}else if(/bada/i.test(ua))result={name:"Bada",osname:"Bada", bada:t,version:getFirstMatch(/dolfin\/(\d+(\.\d+)?)/i)};else if(tizen)result={name:"Tizen",osname:"Tizen",tizen:t,version:getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||versionIdentifier};else if(/qupzilla/i.test(ua))result={name:"QupZilla",qupzilla:t,version:getFirstMatch(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i)||versionIdentifier};else if(/chromium/i.test(ua))result={name:"Chromium",chromium:t,version:getFirstMatch(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i)||versionIdentifier};else if(/chrome|crios|crmo/i.test(ua))result= {name:"Chrome",chrome:t,version:getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)};else if(android)result={name:"Android",version:versionIdentifier};else if(/safari|applewebkit/i.test(ua)){result={name:"Safari",safari:t};if(versionIdentifier)result.version=versionIdentifier}else if(iosdevice){result={name:iosdevice=="iphone"?"iPhone":iosdevice=="ipad"?"iPad":"iPod"};if(versionIdentifier)result.version=versionIdentifier}else if(/googlebot/i.test(ua))result={name:"Googlebot",googlebot:t,version:getFirstMatch(/googlebot\/(\d+(\.\d+))/i)|| versionIdentifier};else result={name:getFirstMatch(/^(.*)\/(.*) /),version:getSecondMatch(/^(.*)\/(.*) /)};if(!result.msedge&&/(apple)?webkit/i.test(ua)){if(/(apple)?webkit\/537\.36/i.test(ua)){result.name=result.name||"Blink";result.blink=t}else{result.name=result.name||"Webkit";result.webkit=t}if(!result.version&&versionIdentifier)result.version=versionIdentifier}else if(!result.opera&&/gecko\//i.test(ua)){result.name=result.name||"Gecko";result.gecko=t;result.version=result.version||getFirstMatch(/gecko\/(\d+(\.\d+)?)/i)}if(!result.windowsphone&& (android||result.silk)){result.android=t;result.osname="Android"}else if(!result.windowsphone&&iosdevice){result[iosdevice]=t;result.ios=t;result.osname="iOS"}else if(mac){result.mac=t;result.osname="macOS"}else if(xbox){result.xbox=t;result.osname="Xbox"}else if(windows){result.windows=t;result.osname="Windows"}else if(linux){result.linux=t;result.osname="Linux"}function getWindowsVersion(s){switch(s){case "NT":return"NT";case "XP":return"XP";case "NT 5.0":return"2000";case "NT 5.1":return"XP";case "NT 5.2":return"2003"; case "NT 6.0":return"Vista";case "NT 6.1":return"7";case "NT 6.2":return"8";case "NT 6.3":return"8.1";case "NT 10.0":return"10";default:return undefined}}var osVersion="";if(result.windows)osVersion=getWindowsVersion(getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i));else if(result.windowsphone)osVersion=getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i);else if(result.mac){osVersion=getFirstMatch(/Mac OS X (\d+([_\.\s]\d+)*)/i);osVersion=osVersion.replace(/[_\s]/g,".")}else if(iosdevice){osVersion= getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i);osVersion=osVersion.replace(/[_\s]/g,".")}else if(android)osVersion=getFirstMatch(/android[ \/-](\d+(\.\d+)*)/i);else if(result.webos)osVersion=getFirstMatch(/(?:web|hpw)os\/(\d+(\.\d+)*)/i);else if(result.blackberry)osVersion=getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i);else if(result.bada)osVersion=getFirstMatch(/bada\/(\d+(\.\d+)*)/i);else if(result.tizen)osVersion=getFirstMatch(/tizen[\/\s](\d+(\.\d+)*)/i);if(osVersion)result.osversion=osVersion; var osMajorVersion=!result.windows&&osVersion.split(".")[0];if(tablet||nexusTablet||iosdevice=="ipad"||android&&(osMajorVersion==3||osMajorVersion>=4&&!mobile)||result.silk)result.tablet=t;else if(mobile||iosdevice=="iphone"||iosdevice=="ipod"||android||nexusMobile||result.blackberry||result.webos||result.bada)result.mobile=t;if(result.msedge||result.msie&&result.version>=10||result.yandexbrowser&&result.version>=15||result.vivaldi&&result.version>=1||result.chrome&&result.version>=20||result.samsungBrowser&& result.version>=4||result.whale&&compareVersions([result.version,"1.0"])===1||result.mzbrowser&&compareVersions([result.version,"6.0"])===1||result.focus&&compareVersions([result.version,"1.0"])===1||result.firefox&&result.version>=20||result.safari&&result.version>=6||result.opera&&result.version>=10||result.ios&&result.osversion&&result.osversion.split(".")[0]>=6||result.blackberry&&result.version>=10.1||result.chromium&&result.version>=20)result.a=t;else if(result.msie&&result.version<10||result.chrome&& result.version<20||result.firefox&&result.version<20||result.safari&&result.version<6||result.opera&&result.version<10||result.ios&&result.osversion&&result.osversion.split(".")[0]<6||result.chromium&&result.version<20)result.c=t;else result.x=t;return result}var bowser=detect(typeof navigator!=="undefined"?navigator.userAgent||"":"");bowser.test=function(browserList){for(var i=0;i<browserList.length;++i){var browserItem=browserList[i];if(typeof browserItem==="string")if(browserItem in bowser)return true}return false}; function getVersionPrecision(version){return version.split(".").length}function map(arr,iterator){var result=[],i;if(Array.prototype.map)return Array.prototype.map.call(arr,iterator);for(i=0;i<arr.length;i++)result.push(iterator(arr[i]));return result}function compareVersions(versions){var precision=Math.max(getVersionPrecision(versions[0]),getVersionPrecision(versions[1]));var chunks=map(versions,function(version){var delta=precision-getVersionPrecision(version);version=version+(new Array(delta+ 1)).join(".0");return map(version.split("."),function(chunk){return(new Array(20-chunk.length)).join("0")+chunk}).reverse()});while(--precision>=0)if(chunks[0][precision]>chunks[1][precision])return 1;else if(chunks[0][precision]===chunks[1][precision]){if(precision===0)return 0}else return-1}function isUnsupportedBrowser(minVersions,strictMode,ua){var _bowser=bowser;if(typeof strictMode==="string"){ua=strictMode;strictMode=void 0}if(strictMode===void 0)strictMode=false;if(ua)_bowser=detect(ua);var version= ""+_bowser.version;for(var browser in minVersions)if(minVersions.hasOwnProperty(browser))if(_bowser[browser]){if(typeof minVersions[browser]!=="string")throw new Error("Browser version in the minVersion map should be a string: "+browser+": "+String(minVersions));return compareVersions([version,minVersions[browser]])<0}return strictMode}function check(minVersions,strictMode,ua){return!isUnsupportedBrowser(minVersions,strictMode,ua)}bowser.isUnsupportedBrowser=isUnsupportedBrowser;bowser.compareVersions= compareVersions;bowser.check=check;bowser._detect=detect;bowser.detect=detect;return bowser});(function(win,doc){if(win.addEventListener)return;function docHijack(p){var old=doc[p];doc[p]=function(v){return addListen(old(v))}}function addEvent(on,fn,self){return(self=this).attachEvent("on"+on,function(e){var e=e||win.event;e.preventDefault=e.preventDefault||function(){e.returnValue=false};e.stopPropagation=e.stopPropagation||function(){e.cancelBubble=true};fn.call(self,e)})}function addListen(obj,i){if(i=obj.length)while(i--)obj[i].addEventListener=addEvent;else obj.addEventListener=addEvent; return obj}addListen([doc,win]);if("Element"in win)win.Element.prototype.addEventListener=addEvent;else{doc.attachEvent("onreadystatechange",function(){addListen(doc.all)});docHijack("getElementsByTagName");docHijack("getElementById");docHijack("createElement");addListen(doc.all)}})(window,document);Ext.ns("App.Crypto"); App.Crypto.Abstract=Ext.extend(Object,{DN_FIELDS_DESCRIPTION:{E:"E-mail",CN:"\u041f\u043e\u043b\u043d\u043e\u0435 \u0438\u043c\u044f",G:"\u0418\u043c\u044f \u041e\u0442\u0447\u0435\u0441\u0442\u0432\u043e",SN:"\u0424\u0430\u043c\u0438\u043b\u0438\u044f",T:"\u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c",OU:"\u041f\u043e\u0434\u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435",O:"\u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f",L:"\u0413\u043e\u0440\u043e\u0434/\u0441\u0435\u043b\u043e",SP:"\u041e\u0431\u043b\u0430\u0441\u0442\u044c/\u0440\u0430\u0439\u043e\u043d", S:"\u0420\u0435\u0433\u0438\u043e\u043d",C:"\u0421\u0442\u0440\u0430\u043d\u0430",INN:"\u0418\u041d\u041d",OGRN:"\u041e\u0413\u0420\u041d",SNILS:"\u0421\u041d\u0418\u041b\u0421",algo_name:"\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u043a\u043b\u044e\u0447\u0430"},LAST_YEAR_FOR_GOST2001:2019,cades_errors:{2148532334:"\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u043e\u0442\u043c\u0435\u043d\u0435\u043d\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c", 2148204810:"\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043d\u0430 \u0432\u0430\u0448\u0435\u043c \u043a\u043e\u043f\u044c\u044e\u0442\u0435\u0440\u0435 \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u043a\u043e\u0440\u043d\u0435\u0432\u044b\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b \u0434\u043b\u044f \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430. \u041f\u0440\u043e\u0432\u0435\u0434\u0438\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0430\u0446\u0438\u0435\u0439 \u0432\u0430\u0448\u0435\u0433\u043e \u0423\u0426", 2147944027:"\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f \u0432\u0430\u0448\u0435\u0433\u043e \u043a\u0440\u0438\u043f\u0442\u043e\u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430"},CAPICOM_CERTIFICATE_INCLUDE_OPTION:{CAPICOM_CERTIFICATE_INCLUDE_CHAIN_EXCEPT_ROOT:0,CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN:1,CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY:2}, GOST_2012_NAME:"\u0413\u041e\u0421\u0422 \u0420 34.10-2012",createCertificatesStore:function(){return new Ext.data.JsonStore({fields:[{name:"thumbprint"},{name:"serial"},{name:"owner"},{name:"valid_from",type:"date",dateFormat:"d.m.Y"},{name:"valid_till",type:"date",dateFormat:"d.m.Y"},{name:"owner_info"},{name:"issuer_info"},{name:"privateKey"},{name:"object"},{name:"algo_name"},{name:"algo_oid"}]})},decimalToHexString:function(number){if(number<0)number=4294967295+number+1;return number.toString(16).toUpperCase()}, getErrorMessage:function(e){var err;if(!e.message)err=Base64._utf8_decode(e);else if(e.number)err=e.message+" (0x"+this.decimalToHexString(e.number)+")";return err},getErrorCodeFromMessage:function(message){var code=message.match(/(\(0x\w+\))/);if(code&&!isEmpty(code[0]))return parseInt(code[0].substr(1,code[0].length-2),16)},showCertificateDetailsDialog:function(record){var me=this;var message="<b>\u0421\u0435\u0440\u0438\u0439\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440:</b> "+record["serial"]+ "<br/>";if(!isEmpty(record["owner_info"]))Ext.iterate(record["owner_info"],function(key,data){if(me.DN_FIELDS_DESCRIPTION[key])message+="<b>"+me.DN_FIELDS_DESCRIPTION[key]+":</b> "+data+"<br/>"});Ext.iterate(record,function(key,data){if(Ext.type(key)=="string"&&me.DN_FIELDS_DESCRIPTION[key])message+="<b>"+me.DN_FIELDS_DESCRIPTION[key]+":</b> "+data+"<br/>"});if(!isEmpty(message))Ext.MessageBox.alert("\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0431 \u042d\u041f",message)}, getErrorMessageByCadesError:function(error){var result="";var code=this.getErrorCodeFromMessage(error.message);if(this.cades_errors[code])result=this.cades_errors[code];else result=error.message;return result},defaultFailuerCallback:function(error){var message;if(error.message)message=this.getErrorMessageByCadesError(error);else message=error;Ext.MessageBox.alert("\u041e\u0448\u0438\u0431\u043a\u0430","\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u043d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0435: "+ message)},selectCertificateForm:function(params,successCallback,failureCallback){var me=this;var certgrid_id=Ext.id();var window_id=Ext.id();var certificatePeriodRenderer=function(value,metaData,record,rowIndex,colIndex,store){return Ext.util.Format.date(record.get("valid_from"),"d.m.Y")+" - "+Ext.util.Format.date(record.get("valid_till"),"d.m.Y")};var clearifyString=function(string){if(!string)return"";return string.replace(/""/g,'"').replace(/^"/g,"").replace(/"$/g,"")};var onCertificateSelect= function(){var grid=Ext.getCmp(certgrid_id);var grid_selection=grid.getSelectionModel().getSelected();if(!grid_selection)return false;var certInfo=grid_selection.data;try{if(!certInfo["object"]||!certInfo["privateKey"]){Ext.getCmp(window_id).close();failureCallback("\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u044c\u044e");return false}}catch(e){failureCallback(e); return false}Ext.getCmp(window_id).close();successCallback(certInfo["object"]);certificatesWindow.close();return true};var certificatesWindow=new Ext.Window({title:"\u0412\u044b\u0431\u043e\u0440 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u0438\u044f",height:250,width:700,modal:true,closeAction:"hide",plain:true,layout:"fit",parent:me,id:window_id,items:[{xtype:"panel",frame:true,padding:5,layout:{type:"vbox", align:"stretch",defaultMargins:{left:0,top:0,right:0,bottom:5}},items:[{html:"\u0421\u043f\u0438\u0441\u043e\u043a \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432:"},{xtype:"grid",flex:1,width:"auto",id:certgrid_id,viewConfig:{forceFit:true,getRowClass:function(rec,index){var valid_till=rec.get("valid_till");var now=new Date;if(valid_till<now)return"gray_text"}},sm:new Ext.grid.RowSelectionModel({singleSelect:true}), columns:[{header:"",xtype:"textactioncolumn",actionsSeparator:" ",width:35,items:[{tooltip:"\u041f\u0440\u0435\u0434\u0435\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435",icon:"/ico/errors.png",text:"",isHidden:function(v,meta,rec){var now=new Date;if(now.getFullYear()<me.LAST_YEAR_FOR_GOST2001)return true;return rec.get("algo_oid")!=cadesplugin.OID_ALGORITHM_CP_GOST_3411_2001},handler:function(){alertWarning("\u0421 1 \u044f\u043d\u0432\u0430\u0440\u044f "+(me.LAST_YEAR_FOR_GOST2001+1)+" \u0433\u043e\u0434\u0430 \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043e \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u042d\u041f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043b\u044e\u0447\u0435\u0439 \u042d\u041f \u0413\u041e\u0421\u0422 \u0420 34.10 - 2001. \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c \u0437\u0430\u0431\u043b\u0430\u0433\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043b\u044e\u0447\u0435\u0439 \u042d\u041f \u0413\u041e\u0421\u0422 \u0420 34.10-2012")}}, {tooltip:"\u041f\u043e\u0434\u043f\u0438\u0441\u044c \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0430",icon:"/images/icons/silk/exclamation.png",text:"",isHidden:function(v,meta,rec){var valid_till=rec.get("valid_till");var now=new Date;if(valid_till<now)return false;if(rec.get("algo_oid")==cadesplugin.OID_ALGORITHM_CP_GOST_3411_2001&&now.getFullYear()>me.LAST_YEAR_FOR_GOST2001)return false;return true},handler:function(grid, rowIndex,colIndex){var rec=grid.getStore().getAt(rowIndex);var valid_till=rec.get("valid_till");var now=new Date;if(valid_till<now)alertError("\u0421\u0440\u043e\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u042d\u041f \u0432\u044b\u0448\u0435\u043b. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043f\u043e\u0434\u043f\u0438\u0441\u044c","\u041e\u0448\u0438\u0431\u043a\u0430"); if(rec.get("algo_oid")==cadesplugin.OID_ALGORITHM_CP_GOST_3411_2001&&now.getFullYear()>me.LAST_YEAR_FOR_GOST2001)alertError("\u0421 1 \u044f\u043d\u0432\u0430\u0440\u044f "+(me.LAST_YEAR_FOR_GOST2001+1)+" \u0433\u043e\u0434\u0430 \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043e \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u042d\u041f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043b\u044e\u0447\u0435\u0439 \u042d\u041f \u0413\u041e\u0421\u0422 \u0420 34.10 - 2001. \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c \u0437\u0430\u0431\u043b\u0430\u0433\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043b\u044e\u0447\u0435\u0439 \u042d\u041f \u0413\u041e\u0421\u0422 \u0420 34.10-2012", "\u041e\u0448\u0438\u0431\u043a\u0430")}}]},{header:"\u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f",renderer:function(value,metaData,record){return clearifyString(record.data["owner_info"]["O"])},flex:4},{header:"\u0412\u043b\u0430\u0434\u0435\u043b\u0435\u0446 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430",dataIndex:"owner",flex:4},{header:"\u041f\u0435\u0440\u0438\u043e\u0434 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f",renderer:certificatePeriodRenderer, flex:4},{header:"\u0418\u0437\u0434\u0430\u0442\u0435\u043b\u044c, \u0423\u0426",renderer:function(value,metaData,record){return clearifyString(record.data["issuer_info"]["CN"])},flex:2},{header:"\u0418\u043d\u0444\u043e",xtype:"textactioncolumn",actionsSeparator:" ",width:20,items:[{tooltip:"\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e",icon:"/ico/about.png",text:"", handler:function(grid,row,col){var record=grid.getStore().getAt(row);me.showCertificateDetailsDialog(record.data)}}]}],listeners:{celldblclick:onCertificateSelect},store:params["certificatesStore"]}]}],buttons:[{xtype:"button",text:"\u0412\u044b\u0431\u0440\u0430\u0442\u044c",handler:onCertificateSelect},{xtype:"button",text:"\u041e\u0442\u043c\u0435\u043d\u0430",handler:function(){certificatesWindow.close();return false}}]});certificatesWindow.show()},selectSigningMethod:function(params,successCallback, errorCallback){var window_id=Ext.id();var selectSigningMethod=new Ext.Window({autoHeight:true,width:460,modal:true,closeAction:"hide",plain:true,layout:"fit",title:"\u0412\u044b\u0431\u043e\u0440 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u042d\u041f",id:window_id,items:[{xtype:"Application.components.CryptoSelectSigningForm",autoHeight:true,padding:"10px 5px 10px 5px",successCallback:function(selected_method){Ext.getCmp(window_id).close(); try{if(!CryptoApiFactory.activatePlugin(selected_method)){Ext.MessageBox.alert("\u041e\u0448\u0438\u0431\u043a\u0430","\u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u0432\u044b\u0431\u043e\u0440\u0430 \u043c\u0435\u0442\u043e\u0434\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u0438\u044f");if(typeof errorCallback==="function")errorCallback();return false}}catch(err){Ext.MessageBox.alert("\u041e\u0448\u0438\u0431\u043a\u0430","\u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u0432\u044b\u0431\u043e\u0440\u0430 \u043c\u0435\u0442\u043e\u0434\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u0438\u044f")}if(typeof successCallback=== "function")successCallback(selected_method)},cancelCallback:function(){Ext.getCmp(window_id).close();if(typeof errorCallback==="function")errorCallback()}}]});selectSigningMethod.show()},signFileByHash:function(params,successCallback,failureCallback){},setSigningCertificate:function(successCallback,failureCallback){this.signMessage({message:"any string"},function(signedMessage,algoOid,certificate){if(successCallback)successCallback(certificate,algoOid)},function(error){if(failureCallback)failureCallback(error)})}, signMessage:function(params,successCallback,failureCallback){if(params["message"]==undefined){if(failureCallback)failureCallback("\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043f\u043e\u0434\u043f\u0438\u0441\u0438");else this.defaultFailuerCallback("\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043f\u043e\u0434\u043f\u0438\u0441\u0438"); return false}this.selectSigningMethod({},function(new_method){CryptoApi.signMessage(params,successCallback,failureCallback)})},signFile:function(params,successCallback,failureCallback){this.selectSigningMethod()},getCertInfo:function(){this.selectSigningMethod()},getCertificatesList:function(successCallback,failureCallback){this.selectSigningMethod()}});Ext.ns("App.Crypto"); App.Crypto.CadesSync=Ext.extend(App.Crypto.Abstract,{signMessage:function(params,successCallback,failureCallback){var me=this;if(params["message"]==undefined){if(failureCallback)failureCallback("\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043f\u043e\u0434\u043f\u0438\u0441\u0438");else this.defaultFailuerCallback("\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043f\u043e\u0434\u043f\u0438\u0441\u0438");return false}me.selectCertificate(params, function(certInfo){me.signMessageByCertificate(Ext.apply(params,{certificate:certInfo}),function(message,algoOid,certificate){successCallback(message,algoOid,certificate)},function(error){if(!failureCallback)me.defaultFailuerCallback(error);else failureCallback(error)})},function(error){if(!failureCallback)me.defaultFailuerCallback(error);else failureCallback(error)})},signFileByHash:function(params,successCallback,failureCallback){var me=this;me.selectCertificate(params,function(certInfo){me.signFileByHashByCertificate(Ext.apply(params, {certificate:certInfo}),function(message,algOid){successCallback(message,algOid)},function(error){if(!failureCallback)me.defaultFailuerCallback(error);else failureCallback(error)})},function(error){if(!failureCallback)me.defaultFailuerCallback(error);else failureCallback(error)})},selectCertificate:function(params,successCallback,failureCallback){var me=this;var certificatesStore=this.createCertificatesStore();if(this.user_certificate)return successCallback(this.user_certificate);me.getCertificatesList(function(certsArray){certificatesStore.loadData(certsArray); me.selectCertificateForm({certificatesStore:certificatesStore},function(certificate){successCallback(certificate)},function(error){failureCallback(error)})},function(error){failureCallback(error)})},getCertificatesList:function(successCallback,failureCallback){var me=this;try{var oStore=cadesplugin.CreateObject("CAdESCOM.Store");oStore.Open()}catch(err){failureCallback("\u041e\u0448\u0438\u0431\u043a\u0430 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u041a\u0440\u0438\u043f\u0442\u043e\u041f\u0440\u043e"); return false}var certsArray=new Array;var certsExists=true;try{var Certificates=oStore.Certificates;var certCnt=Certificates.Count}catch(e){failureCallback("\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f");return false}if(!certCnt||!certsExists){failureCallback("\u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u043d\u0430 \u0412\u0430\u0448\u0435\u043c \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0432\u0443\u044e\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b.<br/>\u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u043f\u0435\u0440\u0435\u0434 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u0438\u044f"); return false}for(var i=1;i<=certCnt;i++){var cert;try{cert=Certificates.Item(i)}catch(e){failureCallback("\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432: "+me.getErrorMessage(e));return false}var valid_from=new Date;var validFormDate=cert.ValidFromDate;valid_from.setTime(Date.parse(validFormDate));var valid_till=new Date;var validToDate=cert.ValidToDate; valid_till.setTime(Date.parse(validToDate));var subject_array=cert.SubjectName.split(", ");var cert_info={};if(!isEmpty(subject_array))Ext.each(subject_array,function(val){var pair=val.split("=");cert_info[pair[0]]=pair[1]});var issuer_array=cert.IssuerName.split(", ");var issuer_info={};if(!isEmpty(issuer_array))Ext.each(issuer_array,function(val){var pair=val.split("=");issuer_info[pair[0]]=pair[1]});var thumbprint=cert.Thumbprint;var privateKey;try{privateKey=cert.PrivateKey}catch(err){privateKey= false}var pubKey=cert.PublicKey();var algo=pubKey.Algorithm;var algoOid=algo.Value;var fAlgoName=algo.FriendlyName;var serial=cert.SerialNumber;certsArray.push({thumbprint:thumbprint,owner:cert_info["SN"]&&cert_info["G"]?cert_info["SN"]+" "+cert_info["G"]:cert_info["CN"],valid_from:valid_from,valid_till:valid_till,owner_info:cert_info,issuer_info:issuer_info,privateKey:privateKey,serial:serial,object:cert,algo_oid:algoOid,algo_name:fAlgoName})}successCallback(certsArray);return true},signMessageByCertificate:function(params, successCallback,failureCallback){var oSigner;var oSignedData;var sSignedData="";var me=this;try{oSigner=cadesplugin.CreateObject("CAdESCOM.CPSigner");oSigner.Certificate=params["certificate"]}catch(e){return failureCallback('\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 CAdESCOM.CPSigner!<br/>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u041a\u0440\u0438\u043f\u0442\u043e\u041f\u0440\u043e \u042d\u0426\u041f Browser plug-in \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0438\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e (<a href="https://www.cryptopro.ru/products/cades/plugin/get_2_0">\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c</a>)'+ e.message)}try{oSignedData=cadesplugin.CreateObject("CAdESCOM.CadesSignedData");oSignedData.ContentEncoding=1;if(!params["isBase64"]){oSignedData.Content=Base64.encode(params["message"]);oSigner.Options=me.CAPICOM_CERTIFICATE_INCLUDE_OPTION.CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY}else oSignedData.Content=params["message"];if(!params["cosign"]||params["cosign"]==undefined)sSignedData=oSignedData.SignCades(oSigner,1);else{oSignedData.VerifyCades(params["cosign"],1);sSignedData=oSignedData.CoSignCades(oSigner, 1)}if(!isEmpty(sSignedData)){var pubKey=params["certificate"].PublicKey();var algo=pubKey.Algorithm;var algoOid=algo.Value;this.user_certificate=params["certificate"];successCallback(sSignedData,algoOid,params["certificate"]);return true}return false}catch(e){failureCallback(e)}},constructor:function(config){try{if(cadesplugin.CreateObject){cadesplugin.CreateObject("CAdESCOM.CPSigner");cadesplugin.CreateObject("CAdESCOM.CadesSignedData");cadesplugin.CreateObject("CAdESCOM.HashedData")}}catch(err){alert(err.message); Ext.MessageBox.alert("\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435!","\u0414\u043b\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u041a\u0440\u0438\u043f\u0442\u043e\u041f\u0440\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u044d\u0442\u0443 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443 \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437")}App.Crypto.CadesSync.superclass.constructor.call(this, config)},signFileByHashByCertificate:function(params,successCallback,failureCallback){var oSigner;var oSignedData;var sSignedData="";try{oSigner=cadesplugin.CreateObject("CAdESCOM.CPSigner")}catch(e){failureCallback('\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 CAdESCOM.CPSigner!<br/>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u041a\u0440\u0438\u043f\u0442\u043e\u041f\u0440\u043e \u042d\u0426\u041f Browser plug-in \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0438\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e (<a href="https://www.roseltorg.ru/getplugin/">\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c</a>)'+ return_capicom_message);return}if(oSigner)oSigner.Certificate=params["certificate"];else{failureCallback('\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 CAdESCOM.CPSigner!<br/>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u041a\u0440\u0438\u043f\u0442\u043e\u041f\u0440\u043e \u042d\u0426\u041f Browser plug-in \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0438\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e (<a href="https://www.roseltorg.ru/getplugin/">\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c</a>)'+ return_capicom_message);return}try{oSignedData=cadesplugin.CreateObject("CAdESCOM.CadesSignedData");oSigner.Options=this.CAPICOM_CERTIFICATE_INCLUDE_OPTION.CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY;oSignedData.ContentEncoding=1;var pubKey=params["certificate"].PublicKey();var algo=pubKey.Algorithm;var algoOid=algo.Value;var oHashedData=cadesplugin.CreateObject("CAdESCOM.HashedData");switch(algoOid){case cadesplugin.OID_ALGORITHM_CP_GOST_3411_2001:oHashedData.Algorithm=cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411; break;case cadesplugin.OID_ALGORITHM_CP_GOST_3411_2012_256:oHashedData.Algorithm=cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256;break;case cadesplugin.OID_ALGORITHM_CP_GOST_3411_2012_512:oHashedData.Algorithm=cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_512;break;default:failureCallback("\u0412\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 OID "+algoOid+" \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e"); return}oHashedData.DataEncoding=cadesplugin.CADESCOM_BASE64_TO_BINARY;oHashedData.SetHashValue(params["hash"]);var CADES_BES=1;try{sSignedData=oSignedData.SignHash(oHashedData,oSigner,CADES_BES)}catch(err){failureCallback(err.message);return}if(!isEmpty(sSignedData)){this.user_certificate=params["certificate"];successCallback(sSignedData,algoOid);return true}failureCallback("\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u044c");return false}catch(e){failureCallback(e.message)}}});Ext.ns("App.Crypto"); App.Crypto.Capicom=Ext.extend(App.Crypto.Abstract,{stack:"0,00",CAPICOM_CERTIFICATE_FIND_SHA1_HASH:0,CAPICOM_CURRENT_USER_STORE:2,CAPICOM_STORE_OPEN_READ_ONLY:0,CAPICOM_MY_STORE:"My",CAPICOM_INFO_SUBJECT_SIMPLE_NAME:0,CAPICOM_INFO_ISSUER_SIMPLE_NAME:1,CAPICOM_INFO_SUBJECT_EMAIL_NAME:2,CAPICOM_INFO_ISSUER_EMAIL_NAME:3,CAPICOM_ENCODE_BASE64:0,CAPICOM_VERIFY_SIGNATURE_ONLY:0,CAPICOM_VERIFY_SIGNATURE_AND_CERTIFICATE:1,CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME:0,CAPICOM_CERT_INFO_ISSUER_SIMPLE_NAME:1,CAPICOM_CERT_INFO_SUBJECT_EMAIL_NAME:2, CAPICOM_CERT_INFO_ISSUER_EMAIL_NAME:3,CAPICOM_CERT_INFO_SUBJECT_UPN:4,CAPICOM_CERT_INFO_ISSUER_UPN:5,CAPICOM_CERT_INFO_SUBJECT_DNS_NAME:6,CAPICOM_CERT_INFO_ISSUER_DNS_NAME:7,CAPICOM_CHECK_ONLINE_ALL:495,CAPICOM_CHECK_OFFLINE_REVOCATION_STATUS:16,CAPICOM_CHECK_ONLINE_REVOCATION_STATUS:8,CAPICOM_CHECK_SIGNATURE_VALIDITY:4,CAPICOM_CHECK_TIME_VALIDITY:2,CAPICOM_CHECK_TRUSTED_ROOT:1,CAPICOM_CERTIFICATE_FIND_TIME_VALID:9,user_certificate:null,capicom_error_message:false,CAPICOM_OBJECTS:{},_to_hex:function(c){var digits= new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");return digits[parseInt(c/16)]+digits[parseInt(c%16)]},_to_utf8_hex:function(s){var c,d="";for(var i=0;i<s.length;i++){c=s.charCodeAt(i);if(c<=127)d+=this._to_hex(c);else if(c>=128&&c<=2047){d+=this._to_hex(c>>6&31|192);d+=this._to_hex(c&63|128)}else{d+=this._to_hex(c>>12|224);d+=this._to_hex(c>>6&63|128);d+=this._to_hex(c&63|128)}}return d},getCAPICOMObject:function(type){var obj=null;if(this.CAPICOM_OBJECTS[type])return this.CAPICOM_OBJECTS[type]; if(window.ActiveXObject||"ActiveXObject"in window){obj=new ActiveXObject("CAPICOM."+type);if(obj)this.CAPICOM_OBJECTS[type]=obj}return obj},isCAPICOMInstalled:function(){CAPICOM_ERROR=null;if(typeof oCAPICOM=="object"&&oCAPICOM.object!=null){var objects=["Utilities","Store","SignedData","Signer"];var obj,msg;for(var i=0;i<objects.length;i++){msg="\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 CAPICOM \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u0430, \u043e\u0434\u043d\u0430\u043a\u043e \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043e\u0434\u043d\u043e\u043c\u0443 \u0438\u0437 \u0435\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 ("+ objects[i]+").\n"+"\u0412\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u0412\u044b \u0438\u043b\u0438 \u0412\u0430\u0448 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0437\u0430\u043f\u0440\u0435\u0442\u0438\u043b\u0438 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u044d\u0442\u043e\u043c\u0443 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0443.\n"+"\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u0435 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0443. \u0422\u0430\u043a\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u043c\u043e\u0436\u0435\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0442\u044c \u043f\u043e \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0438\u0437 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043f\u043e \u043e\u0447\u0435\u0440\u0435\u0434\u0438 (\u0434\u043e 4-\u0445 \u0440\u0430\u0437). "+ "\u0414\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0442\u0430\u043a\u0438\u0445 \u043e\u0448\u0438\u0431\u043e\u043a \u0432\u043d\u0435\u0441\u0438\u0442\u0435 \u044d\u0442\u043e\u0442 \u0441\u0430\u0439\u0442 \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0445.";try{obj=this.getCAPICOMObject(objects[i])}catch(e){msg+="\n\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043e\u0448\u0438\u0431\u043a\u0438: "+ e+"";obj=null}if(!obj){this.capicom_error_message=msg;return false}}return true}return false},signMessageByCertificate:function(params,successCallback,failureCallback){var me=this;try{var SigData=this.getCAPICOMObject("SignedData");var Signer=this.getCAPICOMObject("Signer");Signer.Certificate=params["certificate"];var CU=this.getCAPICOMObject("Utilities");var text=this._to_utf8_hex(params["message"]);if(text.length%4)text+="00";SigData.Content=CU.HexToBinary(text);var signed_message=SigData.Sign(Signer, false,me.CAPICOM_ENCODE_BASE64)}catch(err){return failureCallback(err.message)}if(!signed_message){me.user_certificate=false;return failureCallback("\u041f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c")}this.user_certificate=params["certificate"];return successCallback(signed_message)},selectCertificate:function(params,successCallback,failureCallback){var me=this;var certificatesStore=this.createCertificatesStore();me.getCertificatesList(function(certsArray){certificatesStore.loadData(certsArray); me.selectCertificateForm({certificatesStore:certificatesStore},function(certificate){var validate=me.validateCertificate(certificate);if(validate!==true)return failureCallback(validate);successCallback(certificate)},function(error){failureCallback(error)})},function(error){failureCallback(error)})},getCertificatesList:function(successCallback,failureCallback){var me=this;if(me.isCAPICOMInstalled()!=true)if(this.capicom_error_message)return failureCallback(this.capicom_error_message);else return failureCallback("\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 CAPICOM \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u0430, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0438\u0437-\u0437\u0430 \u043d\u0438\u0437\u043a\u0438\u0445 \u043f\u0440\u0430\u0432 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043d\u0430 \u0434\u0430\u043d\u043d\u043e\u0439 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435."); var MyStore=this.getCAPICOMObject("Store");MyStore.Open(me.CAPICOM_CURRENT_USER_STORE,me.CAPICOM_MY_STORE,me.CAPICOM_STORE_OPEN_READ_ONLY);try{var Certificates=MyStore.Certificates.Find(me.CAPICOM_CERTIFICATE_FIND_TIME_VALID);var certCnt=Certificates.Count}catch(e){failureCallback("\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f"); return false}var certsArray=[];for(var i=1;i<=certCnt;i++){var cert;try{cert=Certificates.Item(i)}catch(e){failureCallback("\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432: "+me.getErrorMessage(e));return false}var valid_from=new Date;var validFormDate=cert.ValidFromDate;valid_from.setTime(Date.parse(validFormDate));var valid_till=new Date;var validToDate= cert.ValidToDate;valid_till.setTime(Date.parse(validToDate));var subject_array=cert.SubjectName.split(", ");var cert_info={};if(!isEmpty(subject_array))Ext.each(subject_array,function(val){var pair=val.split("=");cert_info[pair[0]]=pair[1]});var issuer_array=cert.IssuerName.split(", ");var issuer_info={};if(!isEmpty(issuer_array))Ext.each(issuer_array,function(val){var pair=val.split("=");issuer_info[pair[0]]=pair[1]});var thumbprint=cert.Thumbprint;var privateKey;try{privateKey=cert.PrivateKey}catch(err){privateKey= false}var serial=cert.SerialNumber;certsArray.push({thumbprint:thumbprint,owner:cert_info["CN"],valid_from:valid_from,valid_till:valid_till,owner_info:cert_info,issuer_info:issuer_info,privateKey:privateKey,serial:serial,object:cert})}return successCallback(certsArray)},validateCertificate:function(cert){var validation=cert.IsValid();validation.CheckFlag=this.CAPICOM_CHECK_TIME_VALIDITY;if(!validation.Result)return"\u0421\u0440\u043e\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u0438\u0441\u0442\u0435\u043a \u0438\u043b\u0438 \u043d\u0435 \u043d\u0430\u0441\u0442\u0443\u043f\u0438\u043b"; if(window.Main&&Main.eds&&Main.eds.client_norev)return true;validation.CheckFlag=this.CAPICOM_CHECK_SIGNATURE_VALIDITY;if(!validation.Result)return"\u041f\u043e\u0434\u043f\u0438\u0441\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u0430. \u0423\u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u044c\u0442\u0435\u0441\u044c \u0432 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438 \u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044f \u0441 \u043a\u043b\u044e\u0447\u0435\u043c \u0438\u043b\u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u043f\u0435\u0440\u0435\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442"; validation.CheckFlag=this.CAPICOM_CHECK_TIME_VALIDITY;if(!validation.Result){var issuer=cert.IssuerName;var m;if(issuer){issuer=issuer.toString();m=issuer.match(/O=([^,]+)/);if(m&&m[1]){issuer=m[1];if('"'==issuer.charAt(0));}}return"<br/>"+"<b>\u0421\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u043e\u0442\u043e\u0437\u0432\u0430\u043d \u0438\u043b\u0438 \u043d\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u0435\u043d</b>.<br/>\n"+"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435\u0441\u044c \u0432 \u0443\u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u044f\u044e\u0449\u0438\u0439 \u0446\u0435\u043d\u0442\u0440, \u0432\u044b\u0434\u0430\u0432\u0448\u0438\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442, \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0441\u0443\u043b\u044c\u0442\u0430\u0446\u0438\u0438 \u043f\u043e \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b.<br/>\n"+ (issuer?"\u0418\u0437\u0434\u0430\u0442\u0435\u043b\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430: <b>"+issuer+"</b>":"")}return true},signMessage:function(params,successCallback,failureCallback){var me=this;if(params["message"]==undefined){if(failureCallback)failureCallback("\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043f\u043e\u0434\u043f\u0438\u0441\u0438");else this.defaultFailuerCallback("\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043f\u043e\u0434\u043f\u0438\u0441\u0438"); return false}me.selectCertificate(params,function(certInfo){me.signMessageByCertificate(Ext.apply(params,{certificate:certInfo}),function(message){successCallback(message)},function(error){if(!failureCallback)me.defaultFailuerCallback(error);else failureCallback(error)})},function(error){if(!failureCallback)me.defaultFailuerCallback(error);else failureCallback(error)})},signFileByHash:function(params,successCallback,filureCallback){Ext.MessageBox.alert("\u041e\u0448\u0438\u0431\u043a\u0430","\u0414\u0430\u043d\u043d\u044b\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u043d\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u0438\u044f. \u0414\u043b\u044f \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0439\u0442\u0435 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c")}, constructor:function(config){App.Crypto.Capicom.superclass.constructor.call(this,config)}});Ext.ns("App.Crypto");App.Crypto.NoEds=Ext.extend(App.Crypto.Abstract,{signMessage:function(params,successCallback,failureCallback){successCallback("noeds signature: "+params["message"])},signFileByHash:function(params,successCallback,failureCallback){successCallback("noeds signature: "+params["message"])}});Ext.ns("Application.components"); Application.components.nsiAttributeEditorFactory={modeList:{edit:"edit",search:"search"},nameNormilizer:{regex:/^(\S+ )*\S+$/,maskRe:/[\S ]/i,invalidText:"\u041c\u0435\u0436\u0434\u0443 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043d\u0435 \u0431\u043e\u043b\u0435\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0431\u0435\u043b\u0430. \u041f\u0440\u043e\u0431\u0435\u043b\u044b \u043f\u043e \u043a\u0440\u0430\u044f\u043c \u043d\u0435 \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u044e\u0442\u0441\u044f."},create:function(attribute, fieldConfig,withInterval){fieldConfig=fieldConfig||{};if(withInterval!==false)withInterval=true;if(attribute){if(attribute["attr_has_dict"])return this.createComboBox(attribute,fieldConfig);if(Application.models.Attribute.TYPE_STRING===attribute.attr_type)return this.createTextField(attribute,fieldConfig);if(Application.models.Attribute.TYPE_INTEGER===attribute.attr_type)return withInterval?this.createIntegerIntervalField(attribute,fieldConfig):this.createIntegerField(attribute,fieldConfig);if(Application.models.Attribute.TYPE_BOOLEAN=== attribute.attr_type){if(withInterval)Ext.apply(fieldConfig,{modeEdit:Application.components.nsiAttributeEditorFactory.modeList.search});return this.createBooleanField(attribute,fieldConfig)}}throw new Ext.Error("\u041d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0439 \u0442\u0438\u043f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430");},createSimple:function(attribute,fieldConfig){fieldConfig=fieldConfig||{};if(attribute["attr_type"]==Application.models.Attribute.TYPE_BOOLEAN)return new Ext.form.Checkbox(fieldConfig); if(attribute["attr_type"]==Application.models.Attribute.TYPE_INTEGER)return new Application.components.numberField(Ext.apply({},fieldConfig,{allowNegative:false}));return new Ext.form.TextField(Ext.apply({},fieldConfig,this.nameNormilizer))},selectComboBoxComponent:function(attribute){var isAttributeNumberType=Application.models.Attribute.TYPE_INTEGER===attribute.attr_type;if(isAttributeNumberType)return Application.components.nsiNumberCombo;return Application.components.combo},createComboBox:function(attribute, fieldConfig){var boolType=Application.models.Attribute.TYPE_BOOLEAN===attribute.attr_type;var comboBoxComponent=this.selectComboBoxComponent(attribute);return new comboBoxComponent(Ext.apply(this.nameNormilizer,fieldConfig,{name:this.getFieldName(attribute),fieldLabel:this.getFieldLabel(attribute),triggerAction:"all",lazyRender:true,listClass:"x-combo-list-small",editable:!boolType,store:new Ext.data.DirectStore({autoLoad:true,autoDestroy:true,api:{read:RPC_nsi.Attribute.getAttributesDict},baseParams:{baseAttributeId:attribute.nsi_base_attribute_id, attributeDictId:attribute.nsi_attribute_dict_id},writer:new Ext.data.JsonWriter({encode:false,writeAllFields:true}),idProperty:"id",autoSave:false,paramsAsHash:true,root:"AttrDictRows",fields:["id","name"]}),valueField:"name",displayField:"name",mode:"local",getValues:this.getFunctionGetValue(attribute)}))},createTextField:function(attribute,fieldConfig){var textField=new Ext.form.TextField(Ext.apply(this.nameNormilizer,fieldConfig,{name:this.getFieldName(attribute),fieldLabel:this.getFieldLabel(attribute), getValues:this.getFunctionGetValue(attribute)}));return textField},createIntegerField:function(attribute,fieldConfig){return new Application.components.numberField(Ext.apply({},fieldConfig,{name:this.getFieldName(attribute),fieldLabel:this.getFieldLabel(attribute),fieldConfig:{allowNegative:false,invalidText:"\u041d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0432\u0432\u0435\u0434\u0435\u043d \u0447\u0438\u0441\u043b\u043e\u0432\u043e\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442"}, combineErrors:false,getValues:this.getFunctionGetValue(attribute)}))},createIntegerIntervalField:function(attribute,fieldConfig){return new Application.components.nsiIntegerIntervalField(Ext.apply({},fieldConfig,{name:this.getFieldName(attribute),fieldLabel:this.getFieldLabel(attribute),fieldConfig:{allowNegative:false,invalidText:"\u041d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0432\u0432\u0435\u0434\u0435\u043d \u0447\u0438\u0441\u043b\u043e\u0432\u043e\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442"}, combineErrors:false,getValues:this.getFunctionGetValue(attribute)}))},createBooleanField:function(attribute,fieldConfig){fieldConfig.hiddenName=fieldConfig.name;if(!Ext.isEmpty(fieldConfig.value))fieldConfig.value=Ext.extension.Boolean.strToBoolean(fieldConfig.value);return new Application.components.ComboBoxBoolean(Ext.apply({},fieldConfig,{name:this.getFieldName(attribute),fieldLabel:this.getFieldLabel(attribute),hiddenName:this.getFieldName(attribute),getValues:this.getFunctionGetValue(attribute)}))}, getFunctionGetValue:function(attribute){return function(){return{id:attribute.id,name:Application.components.nsiAttributeEditorFactory.getFieldLabel(attribute),value:this.getValue()}}},getFieldLabel:function(attribute){return attribute["name"]+(attribute.okei.symbol?" ("+attribute.okei.symbol+")":"")},getFieldName:function(attribute){return Application.components.nsiAttributeStringView.prefix+attribute.nsi_base_attribute_id}};Ext.ns("Application.components");Application.components.nsiAttributeRendererFactory={create:function(attribute){if(attribute)if(Application.models.Attribute.TYPE_BOOLEAN===attribute.attr_type)return Ext.util.Format.comboRenderer(new Application.components.ComboBoxBoolean);return new Ext.form.TextField}};Ext.ns("Ext.ux.form"); Ext.define("Ext.ux.form.FilterRowDateInterval",{extend:"Ext.form.CompositeField",fieldxtype:"Application.components.dateField",label_from:"\u0441",label_till:"\u043f\u043e",format:"d.m.Y",DatePlugins:"",msgTarget:"side",fieldName:"",name:this.fieldName,defaults:{flex:1},initComponent:function(){var component=this;this.cmp_id=Ext.id();this.items=[{xtype:"fieldset",style:"border: 0px; padding: 0px;",labelWidth:13,anchor:"100%",items:[{xtype:this.fieldxtype,fieldLabel:this.label_from,format:this.format, ref:"from",name:this.cmp_id+"_from",id:this.cmp_id+"_from_id",plugins:this.DatePlugins,anchor:"100%",notDisable:this.origfilterInput.notDisable,decimalPrecision:this.origfilterInput.decimalPrecision},{xtype:this.fieldxtype,fieldLabel:this.label_till,format:this.format,ref:"till",name:this.cmp_id+"_till",id:this.cmp_id+"_till_id",plugins:this.DatePlugins,anchor:"100%",notDisable:this.origfilterInput.notDisable,decimalPrecision:this.origfilterInput.decimalPrecision}]}];this.getValue=function(){var date_array= {from:Ext.getCmp(this.cmp_id+"_from_id").getValue(),till:Ext.getCmp(this.cmp_id+"_till_id").getValue()};if(!this.oldValue)this.oldValue={from:null,till:null};return date_array};this.setValue=function(date){if(Ext.isObject(date)){Ext.getCmp(this.cmp_id+"_from_id").setValue(date.from);Ext.getCmp(this.cmp_id+"_till_id").setValue(date.till)}else{Ext.getCmp(this.cmp_id+"_from_id").setValue(date);Ext.getCmp(this.cmp_id+"_till_id").setValue("")}this.value=this.getValue()};Ext.ux.form.FilterRowDateInterval.superclass.initComponent.call(this); var fchange=function(){component.fireEvent("change",component.getValue())};var fselect=function(){component.fireEvent("select",component.getValue())};Ext.getCmp(this.cmp_id+"_from_id").addListener("change",fchange);Ext.getCmp(this.cmp_id+"_till_id").addListener("change",fchange);Ext.getCmp(this.cmp_id+"_from_id").addListener("select",fselect);Ext.getCmp(this.cmp_id+"_till_id").addListener("select",fselect)},isFieldXType:function(xtype){return Ext.getCmp(this.cmp_id+"_from_id").isXType(xtype)}}); Ext.reg("filterrowdateinterval",Ext.ux.form.FilterRowDateInterval);Ext.ns("Ext.ux.form"); Ext.define("Ext.ux.form.FilterRowFieldInterval",{extend:"Ext.form.CompositeField",fieldxtype:"Application.components.numberField",label_from:"\u0441",label_till:"\u043f\u043e",fieldLabel:"",fieldName:"",decimalPrecision:0,combineErrors:false,name:this.fieldName,betweenNames:{till:"[till]",from:"[from]"},initComponent:function(){var com=this;Ext.apply(this,{items:[{xtype:"displayfield",value:this.label_from},{xtype:this.fieldxtype,decimalPrecision:com.decimalPrecision,name:this.fieldName+this.betweenNames.from, allowBlank:true},{xtype:"displayfield",value:this.label_till},{xtype:this.fieldxtype,name:this.fieldName+this.betweenNames.till,decimalPrecision:com.decimalPrecision,allowBlank:true}]});Ext.ux.form.FilterRowFieldInterval.superclass.initComponent.call(this)}});Ext.reg("filterrowfieldinterval",Ext.ux.form.FilterRowFieldInterval);Ext.define("Application.components.GridFilterTbar",{extend:"Ext.Panel",filterFields:[],filterFieldsColumns:3,FilterForm:null,FilterFastForm:null,bodyBorder:false,border:false,betweenNames:{till:"[till]",from:"[from]"},initComponent:function(){this.FilterForm=this.createAdvancedSearchForm();this.FilterFastForm=this.createFastSearchForm();Ext.apply(this,{items:[this.FilterFastForm,this.FilterForm]});Application.components.GridFilterTbar.superclass.initComponent.call(this)},generateColumns:function(){var component= this;var columns=[];for(var i=0;i<this.filterFieldsColumns;i++)columns.push({xtype:"fieldset",columnWidth:1/component.filterFieldsColumns,autoHeight:true,defaultType:"textfield",items:[],cls:"cleanborder"});var filterFields=this.filterFields;var count=0;Ext.each(filterFields,function(ff){ff.labelStyle="white-space: normal; font-size: 12px;";columns[count].items.push(ff);count++;if(count>component.filterFieldsColumns-1)count=0});return columns},createFastSearchForm:function(){var component=this;return new Ext.FormPanel({items:[{cls:"cleanborder", layout:"hbox",xtype:"toolbar",items:[{xtype:"container",flex:1,height:20,layout:"anchor",items:[{xtype:"textfield",anchor:"100%",name:"query"}]},{text:"\u0418\u0441\u043a\u0430\u0442\u044c",style:"padding-left: 2px",cls:"x-btn-text-icon",icon:"ico/search.png",handler:function(){component.fastSearch(component.FilterFastForm.getForm().getValues().query)}},{text:"\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0439 \u0444\u0438\u043b\u044c\u0442\u0440",style:"padding-left: 2px",cls:"x-btn-text-icon", icon:"ico/search.png",handler:function(){component.toggleFilterForm()}}]}]})},createAdvancedSearchForm:function(){var component=this;return new Ext.FormPanel({layout:"column",cls:"x-panel-mc",autoHeight:true,hidden:true,items:this.generateColumns(),buttonAlign:"center",buttons:[{xtype:"button",text:"\u0424\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u0442\u044c",ui:"footer",handler:function(){component.advancedSearch(component.getValues())}},{xtype:"button",text:"\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u0438 \u0441\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0444\u0438\u043b\u044c\u0442\u0440", ui:"footer",handler:function(){component.fireEvent("resetFilter")}}]})},getValues:function(){var component=this;var form=component.FilterForm.getForm();var values=form.getValues();component.prepareValuesRecursive(form,values);return values},prepareValuesRecursive:function(currentItem,values){var component=this;if(!currentItem.hasOwnProperty("items"))return;currentItem.items.each(function(item){if(item.hasOwnProperty("items"))component.prepareValuesRecursive(item,values);else if(values.hasOwnProperty(item.name))values[item.name]= (v=item.getValue())===null?"":v})},toggleFilterForm:function(){var tBar=this.grid.getTopToolbar();var tBarBeforeSize=tBar.getOuterSize();if(this.FilterForm.hidden)this.FilterForm.show();else this.FilterForm.hide();var tBarAfterSize=tBar.getOuterSize();var diff={height:tBarBeforeSize.height-tBarAfterSize.height};this.grid.updateBox({height:this.grid.getBox().height+diff.height});this.grid.syncSize();this.grid.doLayout()},updateData:function(data){this.FilterForm.getForm().setValues(data)},listeners:{resetFilter:function(){this.resetFilter()}}, resetFilter:function(){this.FilterForm.getForm().reset()},collectFieldsForFastSearch:function(){var fields=[];Ext.each(this.filterFields,function(ff){if(ff.useInFastSearch)fields.push(ff.name)});return fields},fastSearch:function(value){var data={};var fields=this.collectFieldsForFastSearch();var com=this;Ext.each(fields,function(f){Ext.apply(data,com.getRowFilterData(f,value,"contain","OR"))});this.fireEvent("search",data)},advancedSearch:function(values){this.fireEvent("search",this.getFilterData(values))}, getFilterTypeAndName:function(filterInput){if(filterInput.isXType("filterrowdateinterval")||filterInput.isXType("filterrowfieldinterval"))return{name:filterInput.fieldName,type:"between"};else if(filterInput.isXType("datefield"))return{name:filterInput.name,type:"equalDateDMY"};else if(filterInput.isXType("numberfield"))return{name:filterInput.name,type:"equal"};else if(filterInput.isXType("textfield"))return{name:filterInput.name,type:"contain"};else return{name:filterInput.name,type:"equal"}},getFilterData:function(values){var data= {};var component=this;Ext.each(this.filterFields,function(f){var ff=component.getFilterTypeAndName(f);if(values[ff.name]===undefined)values[ff.name]=component.convertToObj(values,ff.name);if(values[ff.name]!=="")Ext.apply(data,component.getRowFilterData(ff.name,values[ff.name],ff.type,"AND"))});return data},getRowFilterData:function(dataIndex,value,filterOption,conditionOption){var result={};result[dataIndex]=value;result[dataIndex+"_filterOption"]=filterOption;result[dataIndex+"_conditionOption"]= conditionOption;return result},convertToObj:function(values,name){var data={};var find=false;if(values[name+this.betweenNames.from]){data.from=values[name+this.betweenNames.from];find=true}if(values[name+this.betweenNames.till]){data.till=values[name+this.betweenNames.till];find=true}return find?data:null}});Application.models.FilterRow={filterClasses:["filter-on","filter-off"],BASE_PARAMS_NAME:"filterRow",BASE_FILTER_OPTION_NAME:"_filterOption",BASE_CONDITION_OPTION_NAME:"_conditionOption",resetPaginator:function(grid){grid.getStore().setBaseParam("start",0)},clearBaseParams:function(grid){var baseParams=grid.getStore().baseParams;for(var key in baseParams)if(0===key.indexOf(this.BASE_PARAMS_NAME))baseParams[key]=undefined},genDataArray:function(dataIndex,value,filterOption,conditionOption){var data= [];if(!dataIndex||Ext.isEmpty(value))return data;conditionOption=conditionOption||"AND";filterOption=filterOption||"contain";data[dataIndex]=value;data[dataIndex+this.BASE_FILTER_OPTION_NAME]=filterOption;data[dataIndex+this.BASE_CONDITION_OPTION_NAME]=conditionOption;return data},reloadStore:function(grid,data,reset){if(reset){this.clearBaseParams(grid);this.resetPaginator(grid)}for(var i in data)grid.getStore().setBaseParam(this.BASE_PARAMS_NAME+"["+i+"]",data[i]);grid.getStore().reload()}};(function(root){var asap=typeof setImmediate==="function"&&setImmediate||function(fn){setTimeout(fn,1)};function bind(fn,thisArg){return function(){fn.apply(thisArg,arguments)}}var isArray=Array.isArray||function(value){return Object.prototype.toString.call(value)==="[object Array]"};function Promise(fn){if(typeof this!=="object")throw new TypeError("Promises must be constructed via new");if(typeof fn!=="function")throw new TypeError("not a function");this._state=null;this._value=null;this._deferreds= [];doResolve(fn,bind(resolve,this),bind(reject,this))}function handle(deferred){var me=this;if(this._state===null){this._deferreds.push(deferred);return}asap(function(){var cb=me._state?deferred.onFulfilled:deferred.onRejected;if(cb===null){(me._state?deferred.resolve:deferred.reject)(me._value);return}var ret;try{ret=cb(me._value)}catch(e){deferred.reject(e);return}deferred.resolve(ret)})}function resolve(newValue){try{if(newValue===this)throw new TypeError("A promise cannot be resolved with itself."); if(newValue&&(typeof newValue==="object"||typeof newValue==="function")){var then=newValue.then;if(typeof then==="function"){doResolve(bind(then,newValue),bind(resolve,this),bind(reject,this));return}}this._state=true;this._value=newValue;finale.call(this)}catch(e){reject.call(this,e)}}function reject(newValue){this._state=false;this._value=newValue;finale.call(this)}function finale(){for(var i=0,len=this._deferreds.length;i<len;i++)handle.call(this,this._deferreds[i]);this._deferreds=null}function Handler(onFulfilled, onRejected,resolve,reject){this.onFulfilled=typeof onFulfilled==="function"?onFulfilled:null;this.onRejected=typeof onRejected==="function"?onRejected:null;this.resolve=resolve;this.reject=reject}function doResolve(fn,onFulfilled,onRejected){var done=false;try{fn(function(value){if(done)return;done=true;onFulfilled(value)},function(reason){if(done)return;done=true;onRejected(reason)})}catch(ex){if(done)return;done=true;onRejected(ex)}}Promise.prototype["catch"]=function(onRejected){return this.then(null, onRejected)};Promise.prototype.then=function(onFulfilled,onRejected){var me=this;return new Promise(function(resolve,reject){handle.call(me,new Handler(onFulfilled,onRejected,resolve,reject))})};Promise.all=function(){var args=Array.prototype.slice.call(arguments.length===1&&isArray(arguments[0])?arguments[0]:arguments);return new Promise(function(resolve,reject){if(args.length===0)return resolve([]);var remaining=args.length;function res(i,val){try{if(val&&(typeof val==="object"||typeof val==="function")){var then= val.then;if(typeof then==="function"){then.call(val,function(val){res(i,val)},reject);return}}args[i]=val;if(--remaining===0)resolve(args)}catch(ex){reject(ex)}}for(var i=0;i<args.length;i++)res(i,args[i])})};Promise.resolve=function(value){if(value&&typeof value==="object"&&value.constructor===Promise)return value;return new Promise(function(resolve){resolve(value)})};Promise.reject=function(value){return new Promise(function(resolve,reject){reject(value)})};Promise.race=function(values){return new Promise(function(resolve, reject){for(var i=0,len=values.length;i<len;i++)values[i].then(resolve,reject)})};Promise._setImmediateFn=function _setImmediateFn(fn){asap=fn};if(typeof module!=="undefined"&&module.exports)module.exports=Promise;else if(!root.Promise)root.Promise=Promise})(this);Ext.onReady(function(){Main.layout.north_panel.on("beforeMenuAdd",function(){if(isSupplier()&&getPmiAccess()==0)Ext.each(Main.user.menues,function(item){if(item!=undefined&&item.url=="nsi/supplier/rating")Main.user.menues.remove(item)})})});Ext.form.ClearableComboBox=Ext.extend(Ext.form.ComboBox,{initComponent:function(){Ext.form.ClearableComboBox.superclass.initComponent.call(this);this.triggerConfig={tag:"span",cls:"x-form-twin-triggers",style:"padding-right:2px",cn:[{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger"},{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger x-form-clear-trigger"}]}},getTrigger:function(index){return this.triggers[index]},initTrigger:function(){var ts=this.trigger.select(".x-form-trigger",true); this.wrap.setStyle("overflow","hidden");var triggerField=this;ts.each(function(t,all,index){t.hide=function(){var w=triggerField.wrap.getWidth();this.dom.style.display="none";triggerField.el.setWidth(w-triggerField.trigger.getWidth())};t.show=function(){var w=triggerField.wrap.getWidth();this.dom.style.display="";triggerField.el.setWidth(w-triggerField.trigger.getWidth())};var triggerIndex="Trigger"+(index+1);if(this["hide"+triggerIndex])t.dom.style.display="none";t.on("click",this["on"+triggerIndex+ "Click"],this,{preventDefault:true});t.addClassOnOver("x-form-trigger-over");t.addClassOnClick("x-form-trigger-click")},this);this.triggers=ts.elements},onTrigger1Click:function(){this.onTriggerClick()},onTrigger2Click:function(){this.reset()}});Ext.reg("clearablecombo",Ext.form.ClearableComboBox);var USER_ROLE_NSI_ADMIN="NSI_ADMIN";var USER_ROLE_NSI_OPERATOR="NSI_OPERATOR";var USER_ROLE_CHIEF_CATALOG_SERVICE="CHIEF_CATALOG_SERVICE";var USER_ROLE_SPECIALIST_CATALOG_SERVICE="SPECIALIST_CATALOG_SERVICE";function isCustomerSpecorg(){return Main&&Main.contragent&&Main.contragent.customer_profile_id==2}function isAdmin(){return Main&&Main.user&&Main.user.has_role_admin}function isAdminSysadmin(){return Main&&Main.user&&Main.user.is_admin_sysadmin} function isAdminBusines(){return Main&&Main.user&&Main.user.is_admin_busines}function isAdminSecurity(){return Main&&Main.user&&Main.user.is_admin_security}function isAdminEtp(){return Main&&Main.user&&Main.user.is_admin_etp}function isAdminAuditor(){return Main&&Main.user&&Main.user.is_admin_auditor}function isAdminCallCenter(){return Main&&Main.user&&Main.user.is_admin_callcenter}function isAdminPurchasingManager(){return Main&&Main.user&&Main.user.is_admin_purchasing_manager} function isAdminHeadOfGroup(){return Main&&Main.user&&Main.user.is_admin_head_of_group}function isCommissionUser(){return Main&&Main.user&&Main.user.is_commission_user}function isOperatorCallCenter(){return Main&&Main.user&&Main.user.is_operator_callcenter}function isCatalogServiceUser(){return hasRole(USER_ROLE_CHIEF_CATALOG_SERVICE)||hasRole(USER_ROLE_SPECIALIST_CATALOG_SERVICE)}function isCommissionUserOnly(){return Main&&Main.user&&Main.user.is_commission_user_only} function isSaleManager(){return Main&&Main.user&&Main.user.is_sale_manager}function isCustomerKim(){return Main&&Main.user&&Main.user.is_customer_kim}function calcCostWithNds(cost_no_nds,nds,round){var result=null;cost_no_nds=parsePrice(cost_no_nds);nds=parsePrice(nds);if(cost_no_nds){result=cost_no_nds*(100+(nds||0))/100;if(round)result=Ext.util.Format.round(result,2)}return result} function calcNdsPercent(cost_with_nds,cost_no_nds,round){var result=null;cost_with_nds=parsePrice(cost_with_nds);cost_no_nds=parsePrice(cost_no_nds);if(cost_with_nds&&cost_no_nds){result=cost_with_nds*100/cost_no_nds-100;if(round)result=Ext.util.Format.round(result,2)}return result}function isSupplier(){return Main.contragent&&Main.contragent.supplier_accreditations&&Main.contragent.supplier_accreditations.length} function isContragentSupplier(contragent){return contragent&&contragent.supplier_accreditations&&contragent.supplier_accreditations.length}function getPmiAccess(){return isApiAllowed("nsi","PmiSupplier","getCompositIndex")};Ext.ns("Main.stores");function createUrpCompanyStore(type){var store=new Ext.data.DirectStore({directFn:RPC_urp.Company.list,paramsAsHash:true,autoSave:true,root:"entries",idProperty:"id",totalProperty:"totalCount",fields:["id","full_name","urp_status","status","inn","kpp","phone","email",{name:"date_added",type:"date",dateFormat:"c"},"region","source_info","contragent_type","okved_codes"],sortInfo:{field:"id",direction:"ASC"},baseParams:{type:type,limit:"50"},remoteSort:true});return store} function createUrpTasksStore(){var store=new Ext.data.DirectStore({directFn:RPC_urp.Task.list,paramsAsHash:true,root:"entries",idProperty:"id",totalProperty:"totalCount",fields:["id","section","name","description","type_flags","date_end","manager_user_id","status","managerfio","days_end_all","days_end_work","comment","calls_count","baselevel","count_External","count_NotAcred","count_Acred"],sortInfo:{field:"id",direction:"ASC"},baseParams:{limit:50},remoteSort:true});return store} function createUrpPersonalTasksStore(){var store=new Ext.data.DirectStore({directFn:RPC_urp.Task.personalList,paramsAsHash:true,root:"entries",idProperty:"id",totalProperty:"totalCount",fields:["id","section","name","description","type_flags","date_end","manager_user_id","status","managerfio","days_end_all","days_end_work","calls_count","baselevel","count_External","count_NotAcred","count_Acred","scheduled_date","scheduled_comment","comment"],sortInfo:{field:"id",direction:"ASC"},baseParams:{limit:50}, remoteSort:true});return store} function createUrpTaskContragentStore(){var store=new Ext.data.DirectStore({directFn:RPC_urp.Task.listContragents,paramsAsHash:true,autoSave:true,root:"entries",idProperty:"id",totalProperty:"totalCount",fields:["id","full_name","urp_status","status","inn","kpp","phone","email",{name:"date_added",type:"date",dateFormat:"c"},"region","source_info","contragent_type","type_flags","emails","last_comment"],sortInfo:{field:"id",direction:"ASC"},baseParams:{limit:"50"},remoteSort:true});return store} function createUrpTaskDistributionsStore(){var store=new Ext.data.DirectStore({directFn:RPC_urp.Task.listDistributions,paramsAsHash:true,root:"entries",idProperty:"id",totalProperty:"totalCount",fields:["id","task_id",{name:"date",type:"date",dateFormat:"c"},"real_date_begin","real_date_end","auto_send","use_manual_db",{name:"use_manual_db_int",convert:function(v,rec){if(rec.use_manual_db)return 1;return 0}},"email_template_id","email_message","email_subject"],sortInfo:{field:"id",direction:"ASC"}, baseParams:{limit:50},remoteSort:true});return store}function createUrpTaskDistributionContactsStore(){var store=new Ext.data.DirectStore({directFn:RPC_urp.Task.listDistributionContacts,paramsAsHash:true,root:"entries",idProperty:"id",totalProperty:"totalCount",fields:["id","distribution_id","fio","company","email"],sortInfo:{field:"id",direction:"ASC"},baseParams:{limit:50},remoteSort:true});return store} function createUrpSupplContactsStore(concatinfo){var store=new Ext.data.DirectStore({directFn:RPC_urp.Company.getCompanyContacts,paramsAsHash:true,autoSave:true,autoLoad:false,root:"data",idProperty:"id",totalProperty:"totalCount",fields:["id","first_name","last_name","middle_name","fio","phone","job"],sortInfo:{field:"id",direction:"ASC"},baseParams:{id:null,limit:"50"},remoteSort:true,listeners:{load:function(){if(Ext.isDefined(concatinfo)&&concatinfo)store.each(function(row){row.data["fio"]=formatPhoneFax(row.get("phone"))+ " "+row.get("fio");row.commit()})}}});return store} function createUrpTaskContragentRingUpStore(){var store=new Ext.data.DirectStore({directFn:RPC_urp.Task.listContragents,paramsAsHash:true,autoSave:true,root:"entries",idProperty:"id",totalProperty:"totalCount",fields:["id","full_name","urp_status","status","phone","email",{name:"date_added",type:"date",dateFormat:"c"},"region","source_info","contragent_type","type_flags","ring_up_status"],sortInfo:{field:"id",direction:"ASC"},remoteSort:true});return store} function createFinancesInfoUserStore(urlPath){var store=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:urlPath}),reader:new Ext.data.JsonReader({fields:[{name:"level",type:"int"},{name:"index_name",type:"string"},{name:"code",type:"int"},{name:"bold",type:"bool"},{name:"line",type:"bool"}]}),autoLoad:true});return store} function createFinancesInfoUserStoreGrouping(urlPath){var store=new Ext.data.GroupingStore({proxy:new Ext.data.HttpProxy({url:urlPath}),reader:new Ext.data.JsonReader({fields:[{name:"group"},{name:"group_name"},{name:"level",type:"int"},{name:"index_name",type:"string"},{name:"code",type:"int"},{name:"bold",type:"bool"},{name:"line",type:"bool"},{name:"help_info",type:"string"}]}),autoLoad:true,groupField:"group"});return store};Ext.override(Ext.data.Store,{addField:function(field){field=new Ext.data.Field(field);this.recordType.prototype.fields.replace(field);if(typeof field.defaultValue!=="undefined")this.each(function(r){if(typeof r.data[field.name]==="undefined")r.data[field.name]=field.defaultValue})},removeField:function(name){this.recordType.prototype.fields.removeKey(name);this.each(function(r){delete r.data[name];if(r.modified)delete r.modified[name]})}}); Ext.override(Ext.grid.ColumnModel,{addColumn:function(column,colIndex){if(typeof column==="string")column={header:column,dataIndex:column};var config=this.config;this.config=[];if(typeof colIndex==="number")config.splice(colIndex,0,column);else colIndex=config.push(column);this.setConfig(config);return colIndex},removeColumn:function(colIndex){var config=this.config;this.config=[config[colIndex]];config.splice(colIndex,1);this.setConfig(config)}}); Ext.override(Ext.grid.GridPanel,{addColumn:function(field,column,colIndex){if(!column)if(field.dataIndex){column=field;field=field.dataIndex}else column=field.name||field;this.store.addField(field);return this.colModel.addColumn(column,colIndex)},removeColumn:function(name,colIndex){this.store.removeField(name);if(typeof colIndex!=="number")colIndex=this.colModel.findColumnIndex(name);if(colIndex>=0)this.colModel.removeColumn(colIndex)}});window.TaskUtils={changeTaskStatus:function(grid,task_id,task_action){var win=new Application.components.UrpTaskChangeStatusDialog({task_id:task_id,task_action:task_action,listeners:{task_changed:function(){if(Ext.isArray(task_id))grid.getSelectionModel().clearSelections();grid.getStore().reload();var fbar=grid.getTopToolbar();if(fbar)fbar.fireEvent("recalc_counts")}}});win.show()},changeCurrentRowTaskStatus:function(grid,rowIndex,task_action){var item=grid.getAt(rowIndex);if(item)this.changeTaskStatus(grid, item.data.id,task_action)},changeSelectedTaskStatus:function(grid,task_action,title_suffix,error_prefix){var task_ids=[];var errorsMsg="";var bGetErrors=false;grid.getSelectionModel().each(function(r){var curStatus=r.data.status;if(!canDoTaskAction(task_action,curStatus)){bGetErrors=true;errorsMsg+="<br>\u2116"+r.data.id+" - "+r.data.name+" '"+renderTaskStatus(curStatus)+"'"}task_ids.push(r.data.id)});if(task_ids.length===0){Ext.MessageBox.alert("\u0413\u0440\u0443\u043f\u043f\u043e\u0432\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 - "+ title_suffix,"\u0417\u0430\u0434\u0430\u043d\u0438\u044f \u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u044b");return}if(bGetErrors){var msg=error_prefix+":"+errorsMsg;Ext.Msg.show({title:"\u0413\u0440\u0443\u043f\u043f\u043e\u0432\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 - "+title_suffix,msg:msg,buttons:Ext.Msg.OK,icon:Ext.MessageBox.ERROR});return}this.changeTaskStatus(grid,task_ids,task_action)}};Ext.ns("Nsi.templates"); function getNsiCompanyDataTemplate(){return new Ext.XTemplate('<table class="tpltbl">'+'<tr><th>\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438:</th><td> <tpl if="values.organization_rating_type!=undefined">{[this.getOrgRatingType(values.organization_rating_type)]}</tpl><tpl if="values.organization_rating_type==undefined">\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435</tpl></td></tr>'+"</table>", {getOrgRatingType:function(type){var types={1:"\u0413\u043b\u0430\u0432\u043d\u0430\u044f",2:"\u041f\u043e\u0434\u0432\u0435\u0434\u043e\u043c\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f"};return types[type]}})};var TASK_STATUS_NEW=0;var TASK_STATUS_PAUSED=1;var TASK_STATUS_CANCEL=2;var TASK_STATUS_WORKING=256;var TASK_STATUS_WORKING_PAUSED=257;var TASK_STATUS_READY=512;var TASK_STATUS_CLOSED=768;var TASK_STATUS_CANCELED=770;var TASK_ACTION_START_WORK=0;var TASK_ACTION_PAUSE=1;var TASK_ACTION_BACK_IN_WORK=2;var TASK_ACTION_READY=3;var TASK_ACTION_REVISION=4;var TASK_ACTION_CLOSE=5;var TASK_ACTION_CANCEL=6;var TASK_TYPE_TEXT=0;var TASK_TYPE_LOTS=1;var TASK_TYPE_SUPPLIERS=2;var TASK_FLAG_EMAIL=1; var TASK_FLAG_PHONE=2;var TASK_FLAG_FAX=4;var TASK_FLAG_YANDEX_DIRECT=8;var URP_NOT_ACCRED=1;var URP_ACCRED_SUPPLIER=2;var URP_EXTERNAL_SUPPLIER=4;var URP_ACCRED_CUSTOMER=8;var OPER_TYPE_CALL=1;var OPER_TYPE_CONTRAGENT_COMMENT=2;var OPER_TYPE_TASK_READY=3;var OPER_TYPE_TASK_CLOSE=4;var OPER_TYPE_TASK_PAUSE=5;var OPER_TYPE_TASK_UNPAUSE=6;var OPER_TYPE_TASK_STARTWORKING=7;var OPER_TYPE_TASK_REWORK=8;var OPER_TYPE_TASK_CANCEL=9;var OPER_TYPE_REMOVE_CONTRAGENT_FROM_CALL_LIST=10; var OPER_TYPE_TASK_COMMENT=11;var NDS_VALUE_0=1;var NDS_VALUE_10=2;var NDS_VALUE_18=4;var ACCOUNT_REPORT_TYPE_NORMAL=0;var ACCOUNT_REPORT_TYPE_CONJOINT=1;var FINANCIAL_SECURITY_LEVEL_HIDE=0;var FINANCIAL_SECURITY_LEVEL_FOR_ALL=1; function formatPhoneFax(val){if(val==null)return"";var data=String(val).split("-");if(data.length<3)return val;var formatVal=(data[0]?"+"+data[0]:"")+(data[1]?"("+data[1]+")":"");if(data[2]){var number=String(data[2]).split(" ");formatVal+=number[0];if(number[1])formatVal+=" \u0434\u043e\u0431."+number[1]}return formatVal}function renderPhone(value,p,record){return formatPhoneFax(value)} function parsePhoneFax(val){var re=/\+(\d+)\((\d+)\)(\d+)(?:[ ]+\D*(\d+))?/i;var found=val.match(re);if(found===null)return val;var phone=found[1]+"-"+found[2]+"-"+found[3];if(found[4]!=null)phone+=" "+found[4];return phone}function parsePhoneFaxStrict(val){if(typeof val!="string")return"";var re=/(?:\+)?(\d+)\((\d+)\)(\d+)(?:[ ]+\D*(\d+))?/i;var found=val.match(re);if(found===null)return"";var phone=found[1]+"-"+found[2]+"-"+found[3];if(found[4]!=null)phone+=" "+found[4];return phone} function renderUrpStatus(value){var result="";if((value&URP_NOT_ACCRED)!==0)result="\u041d\u0435 \u0430\u043a\u043a\u0440\u0435\u0434\u0438\u0440\u043e\u0432\u0430\u043d";if((value&URP_ACCRED_SUPPLIER)!==0)result="\u0410\u043a\u043a\u0440\u0435\u0434\u0438\u0442\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a";if((value&URP_EXTERNAL_SUPPLIER)!==0)result="\u0412\u043d\u0435\u0448\u043d\u0438\u0439 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a"; if((value&URP_ACCRED_CUSTOMER)!==0){if(result.length>0)result+="<br>";result+="\u0410\u043a\u043a\u0440\u0435\u0434\u0438\u0442\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a"}return result} function renderTaskStatus(value){var result="";if(value==TASK_STATUS_NEW)result="\u041d\u043e\u0432\u043e\u0435";if(value==TASK_STATUS_PAUSED)result="\u041d\u043e\u0432\u043e\u0435\n\u041f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e";if(value==TASK_STATUS_WORKING)result="\u0412 \u0440\u0430\u0431\u043e\u0442\u0435";if(value==TASK_STATUS_WORKING_PAUSED)result="\u0412 \u0440\u0430\u0431\u043e\u0442\u0435\n\u041f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e"; if(value==TASK_STATUS_READY)result="\u0413\u043e\u0442\u043e\u0432\u043e";if(value==TASK_STATUS_CLOSED)result="\u0410\u0440\u0445\u0438\u0432";if(value==TASK_STATUS_CANCELED)result="\u041e\u0442\u043c\u0435\u043d\u0435\u043d\u043e";return result} function renderTaskType(value){var result="";if(value&1)result="E-mail";if(value&2)if(result.length==0)result="\u041e\u0431\u0437\u0432\u043e\u043d";else result+="+\n\u041e\u0431\u0437\u0432\u043e\u043d";if(value&4)if(result.length==0)result="\u0424\u0430\u043a\u0441";else result+="+\n\u0424\u0430\u043a\u0441";if(value&8)if(result.length==0)result="Yandex \u0434\u0438\u0440\u0435\u043a\u0442";else result+="+\nYandex \u0434\u0438\u0440\u0435\u043a\u0442";return result} function renderTaskStopDate(value,metaData,record){if(null==value)return"\u2014";var result="";if(record.data.days_end_all==null)result="<b>\u041f\u0440\u043e\u0441\u0440\u043e\u0447\u0435\u043d\u043e</b>";else if(record.data.days_end_all=="")result="0 \u0434\u043d\u0435\u0439";else if(record.data.days_end_work==null)result=record.data.days_end_all;else result=record.data.days_end_all+"<br>\u0440\u0430\u0431\u043e\u0447\u0438\u0445 - "+record.data.days_end_work;return result} function canDoTaskAction(action,status){switch(action){case TASK_ACTION_PAUSE:return status==TASK_STATUS_NEW||status==TASK_STATUS_WORKING;case TASK_ACTION_BACK_IN_WORK:return status==TASK_STATUS_PAUSED||status==TASK_STATUS_WORKING_PAUSED;case TASK_ACTION_REVISION:return status==TASK_STATUS_READY;case TASK_ACTION_CLOSE:return status==TASK_STATUS_READY;case TASK_ACTION_CANCEL:return status!=TASK_STATUS_CANCELED&&status!=TASK_STATUS_CLOSED;case TASK_ACTION_READY:return status==TASK_STATUS_WORKING}return false} function renderVolumeDB(value,metaData,record){if(null==value)return"\u041d\u0435\u0442";var result="";result=record.data.count_External+" "+record.data.count_NotAcred+" "+record.data.count_Acred;return result}function renderCountPhoneCall(value,metaData,record){if(null==value)return"\u2014";var result="";result=record.data.calls_count;return result}function renderNoFiles(value){if(Ext.isArray(value)&&value.length>0)return"";return"\u041d\u0435\u0442"} function renderPart(value){if(value)return value+"%";return value}function geltaDays(dateEnd){if(null===dateEnd)return null;var c_date=new Date;var cur_date=new Date(c_date.getFullYear(),c_date.getMonth(),c_date.getDate());var rgx_date=/(\d{4})\-(\d{2})\-(\d{2})/.exec(dateEnd);var record_date=new Date(rgx_date[1],rgx_date[2]-1,rgx_date[3]);var delta=Math.floor((record_date.getTime()-cur_date.getTime())/(1E3*60*60*24));return delta} function renderScheduledDate(value,delta){if(null===value)return;var color="x-color-task-sheduled-6";var l0=getConfigValue("crm->task->sheduled_level->0",0);var l1=getConfigValue("crm->task->sheduled_level->1",1);var l2=getConfigValue("crm->task->sheduled_level->2",2);var l3=getConfigValue("crm->task->sheduled_level->3",5);if(delta<=l0)color="x-color-task-sheduled-0";if(delta>l0&&delta<=l1)color="x-color-task-sheduled-1";if(delta>l1&&delta<=l2)color="x-color-task-sheduled-2";if(delta>l2&&delta<=l3)color= "x-color-task-sheduled-5";return'<div class="'+color+'"><a href="javascript:;">'+parseDate(value).format("d.m.Y H:i")+"</a></div>"} function colorLineForTask(status,date_end){if(status!==TASK_STATUS_NEW&&status!==TASK_STATUS_WORKING&&status!==TASK_STATUS_PAUSED&&status!==TASK_STATUS_WORKING_PAUSED)return"x-color-task-6";var delta=geltaDays(date_end);var l0=getConfigValue("crm->task->perform_level->0",0);var l1=getConfigValue("crm->task->perform_level->1",1);var l2=getConfigValue("crm->task->perform_level->2",2);var l3=getConfigValue("crm->task->perform_level->3",5);if(delta<=l0)return"x-color-task-0";if(delta>l0&&delta<=l1)return"x-color-task-1"; if(delta>l1&&delta<=l2)return"x-color-task-2";if(delta>l2&&delta<=l3)return"x-color-task-5";return"x-color-task-6"}function doFormValidate(cmp){var isValid=true;cmp.items.each(function(item){if(!item.validate){if(item.items&&item.items.length>0)if(!doFormValidate(item))isValid=false;return isValid}if(!item.validate())isValid=false;return isValid});return isValid} function MakeGridHeadersMultiline(grid){Ext.apply(grid,{bodyCssClass:"grid_ml"});var refreshed=false;grid.on("afterrender",function(){this.getView().on("refresh",function(view){refreshed=true;var el=view.el;var thead=el.child("thead");var height=thead.getHeight(true)-8;thead.setHeight(height)})});grid.on("resize",function(){var view=grid.getView();if(refreshed)view.refresh(true)})}var ProcGreatField=70;var profileGreatField={};profileGreatField["region"]=1;profileGreatField["contragent_type"]=1; profileGreatField["year_creation"]=1;profileGreatField["rev"]=1;profileGreatField["rev_unit"]=1;profileGreatField["size"]=1;profileGreatField["full_name"]=1;profileGreatField["short_name"]=1;profileGreatField["supplier_profile_id"]=1;profileGreatField["inn"]=1;profileGreatField["kpp"]=1;profileGreatField["ogrn"]=1;profileGreatField["head_last_name"]=1;profileGreatField["head_first_name"]=1;profileGreatField["head_middle_name"]=1;profileGreatField["phone"]=1;profileGreatField["fax"]=1; profileGreatField["okved"]=1;profileGreatField["offered_products"]=1;profileGreatField["partners"]=1;profileGreatField["practice"]=1;profileGreatField["prizes"]=1;profileGreatField["licenses"]=1;var profileGreatField_postal={};profileGreatField_postal["country_iso_nr"]=1;profileGreatField_postal["index"]=1;profileGreatField_postal["region"]=1;profileGreatField_postal["city"]=1;profileGreatField_postal["street"]=1;profileGreatField_postal["house"]=1;var profileGreatField_legal={}; profileGreatField_legal["country_iso_nr"]=1;profileGreatField_legal["index"]=1;profileGreatField_legal["region"]=1;profileGreatField_legal["city"]=1;profileGreatField_legal["street"]=1;profileGreatField_legal["house"]=1;var profileGreatField_bank_data={};profileGreatField_bank_data["account"]=1;profileGreatField_bank_data["bank_addr"]=1;profileGreatField_bank_data["bank"]=1;profileGreatField_bank_data["bik"]=1; function profileOccupancyCount(values){var numEmpty=0;var numFull=0;var numFull_Great=0;var sumV=0;for(var i in profileGreatField)if(undefined!==values[i])sumV+=profileGreatField[i];if(undefined!==values["postal"])for(var pp in profileGreatField_postal)if(undefined!==values["postal"][pp])sumV+=profileGreatField_postal[pp];if(undefined!==values["legal"])for(var pl in profileGreatField_legal)if(undefined!==values["legal"][pl])sumV+=profileGreatField_legal[pl];if(undefined!==values["bank_data"])for(var pbd in profileGreatField_bank_data)if(undefined!== values["bank_data"][pbd])sumV+=profileGreatField_bank_data[pbd];var pgv=ProcGreatField/sumV;var postal_vals=values["postal"];for(var p_v in postal_vals){var val=postal_vals[p_v];if(null===val||""===val||0===val.length){if(undefined===profileGreatField_postal[p_v])numEmpty++}else if(undefined!=profileGreatField_postal[p_v])numFull_Great+=pgv*profileGreatField_postal[p_v];else numFull++}var legal_vals=values["legal"];for(var l_v in legal_vals){var val=legal_vals[l_v];if(null===val||""===val||0===val.length){if(undefined=== profileGreatField_legal[l_v])numEmpty++}else if(undefined!=profileGreatField_legal[l_v])numFull_Great+=pgv*profileGreatField_legal[l_v];else numFull++}var bank_data_vals=values["bank_data"];for(var bd_v in bank_data_vals){var val=bank_data_vals[bd_v];if(null===val||""===val||0===val.length){if(undefined===profileGreatField_bank_data[bd_v])numEmpty++}else if(undefined!=profileGreatField_bank_data[bd_v])numFull_Great+=pgv*profileGreatField_bank_data[bd_v];else numFull++}for(var vc in values){var val= values[vc];if(null===val||""===val||0===val.length){if(undefined===profileGreatField[vc])numEmpty++}else if(undefined!==profileGreatField[vc])numFull_Great+=pgv*profileGreatField[vc];else numFull++}procGreat=numFull_Great;procRest=(100-ProcGreatField)/(numEmpty+numFull)*numFull;procAll=procGreat+procRest;return procAll} function indexName(value,metaData,record){var dataStr;if(record.json.level===null)record.json.level=0;dataStr=dataSetToGrid(record.json.index_name,record.json.bold,record.json.line);var title=record.json.help_info?record.json.help_info:null;if(title!==null)var ret='<div style="margin-left:'+record.json.level*15+'px;" title="'+title+'">';else var ret='<div style="margin-left:'+record.json.level*15+'px;">';ret+=dataStr+"</div>";return ret} function dataSetToGrid(value,bold,line){var dataStr;if(line===null)line=false;if(bold===null)bold=false;if(line&&bold)dataStr="<ins><b>"+value+"</ins></b>";else if(!line&&!bold)dataStr=value;else if(line&&!bold)dataStr="<ins>"+value+"</ins>";else if(!line&&bold)dataStr="<b>"+value+"</b>";return dataStr} function lineCode(value,metaData,record){if(record.json.code===null)return"";var dataStr=dataSetToGrid(record.json.code,record.json.bold,record.json.line);var ret="<div>"+dataStr+"</div>";return ret}function lineCodeData(value,metaData,record){if(value==="")return"";var dataStr=dataSetToGrid(value,record.json.bold,record.json.line);var ret="<div>"+dataStr+"</div>";return ret}var VerificationTmp=new Ext.Template('<img style="float: right; margin-top: {top}px;" src="{img}" alt="\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438" width=25px height = 25px; title="{title}"></img>'); function getVerificationImage(verLevel){var imgSrc=Ext.BLANK_IMAGE_URL;switch(verLevel){case 1:imgSrc="images/urp/25-verification_1.png";break;case 2:imgSrc="images/urp/25-verification_2.png";break;case 3:imgSrc="images/urp/25-verification_3.png";break}return imgSrc} function getVerificationDescription(verLevel,fullDescription){var desc="";switch(verLevel){case 1:if(fullDescription)desc="I \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \n"+"\u0414\u043b\u044f \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u044f \u0443\u0440\u043e\u0432\u043d\u044f \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u0440\u0430\u0437\u0434\u0435\u043b \u00ab\u0412\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f II \u0443\u0440\u043e\u0432\u043d\u044f\u00bb \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u0438\u0442\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b:\n"+ "-\u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440\u0441\u043a\u043e\u0433\u043e \u0431\u0430\u043b\u0430\u043d\u0441\u0430 \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 3 \u0433\u043e\u0434\u0430;\n"+"-\u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0442\u0447\u0435\u0442\u0430 \u043e \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u0445 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u0445 \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 3 \u0433\u043e\u0434\u0430;\n"+ "-\u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u0448\u0442\u0430\u0442\u043d\u043e\u0435 \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0435.\n"+"\u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 \u00ab\u041f\u043e\u0432\u044b\u0441\u0438\u0442\u044c \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438\u00bb \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0437\u0430\u044f\u0432\u043a\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0443 \u042d\u0422\u041f \u0418\u043d\u0442\u0435\u0440\u0420\u0410\u041e. \u041a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0412\u0430\u043c\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b, \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043f\u043e\u0432\u044b\u0441\u0438\u0442\u044c\u0441\u044f."; else desc="I \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438";break;case 2:if(fullDescription)desc="II \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \n"+"\u0414\u043b\u044f \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u044f \u0443\u0440\u043e\u0432\u043d\u044f \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u0440\u0430\u0437\u0434\u0435\u043b \u00ab\u0412\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f III \u0443\u0440\u043e\u0432\u043d\u044f\u00bb \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u0438\u0442\u0435: \n"+ "-\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u043d\u0430 \u043f\u0440\u0430\u0432\u043e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0422\u041c\u0426 (\u0442\u043e\u0432\u0430\u0440\u043d\u043e-\u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u0446\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439). \n"+"\u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 \u00ab\u041f\u043e\u0432\u044b\u0441\u0438\u0442\u044c \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438\u00bb \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0437\u0430\u044f\u0432\u043a\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0443 \u042d\u0422\u041f \u0418\u043d\u0442\u0435\u0440\u0420\u0410\u041e. \u041a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0412\u0430\u043c\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b, \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043f\u043e\u0432\u044b\u0441\u0438\u0442\u044c\u0441\u044f."; else desc="II \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438";break;case 3:desc="III \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438";break}return desc}function verifiedLabel(title){var s="<img src='"+Ext.BLANK_IMAGE_URL+'\' class="x-verified-field"></img><span class="x-verified-field"> '+title+"</span>";return s} function retStrLevelVerify(level){if(level===2)return"II";if(level===3)return"III";return"I"};var URP_EDIT_SEC_MODE_OWN=0;var URP_EDIT_SEC_MODE_OPER_INTERNAL=1;var URP_EDIT_SEC_MODE_OPER_EXTERNAL=2;var urp_all_array={indexOf:function(){return 0}};var contactsRO_oper_internal={indexOf:function(name){return name!=="contacts_oper"?0:-1}};var generalRO_oper_internal={indexOf:function(name){return name!=="source_info"?0:-1}};var produceRO_oper_internal={indexOf:function(name){return name!=="offered_products_oper"?0:-1}}; function get_urp_edit_sec_mode(data){if(!isAdmin())return URP_EDIT_SEC_MODE_OWN;var urp_status=data["urp_status"];if(urp_status==URP_EXTERNAL_SUPPLIER)return URP_EDIT_SEC_MODE_OPER_EXTERNAL;return URP_EDIT_SEC_MODE_OPER_INTERNAL} function doForNameds(cmp,fields,func){if(!("each"in cmp.items))return true;cmp.items.each(function(item){if(!item.name){if(item.items&&item.items.length>0)return doForNameds(item,fields,func);return true}ind=fields.indexOf(item.name);if(ind<0)return true;func(item);return true})}function urpSetReadOnly(cmp){if("setReadOnly"in cmp){cmp.setReadOnly(true);return true}if(!cmp.items)return true;if(cmp.items.length<0)return true;cmp.items.each(urpSetReadOnly)} function urpClearRequired(cmp){if("setRequired"in cmp){cmp.setRequired(false);return true}if(!cmp.fieldLabel)return true;cmp.fieldLabel=cmp.fieldLabel.replace(REQUIRED_FIELD,"");if(cmp.rendered){var label=cmp.label;if(label){var span=label.child("span");if(span&&!span.hasClass("x-verified-field"))span.remove()}}return true};function getTargetObjectsStore(){return getStore("rad_target_objects",{directFn:RPC_rad.Reference.listTargetObjects,paramsAsHash:true,root:"rows",idProperty:"id",totalProperty:"totalCount",fields:["id","code","name"],remoteSort:true})}function getBasisesForDirectStore(){return getStore("rad_basises_for_direct",{directFn:RPC_rad.Reference.listBasisesForDirect,paramsAsHash:true,root:"rows",idProperty:"id",totalProperty:"totalCount",fields:["id","paragraph","short_name"],remoteSort:true})} function getPrecentageStore(){return getStore("percentage_store",{idIndex:0,fields:["value"],data:[[0],[10],[20],[30],[40],[50],[60],[70],[80],[90],[100]]},"ArrayStore")}function getNomenclatureGroupsStore(){return getStore("rad_nomenclature_groups",{directFn:RPC_rad.Reference.listNomenclatureGroups,paramsAsHash:true,root:"rows",idProperty:"id",totalProperty:"totalCount",fields:["id","short_name","full_name"],remoteSort:true})};Ext.ns("Ext.extension");Ext.extension.LoadMask=Ext.extend(Ext.LoadMask,{changeElement:function(el){if(el===this.el)return;var oldEl=this.el;this.el=el;if(oldEl.isMasked()){this.onBeforeLoad();oldEl.unmask(this.removeMask)}}});Ext.define("Application.components.avTextarea",{extend:"Ext.form.TextArea"});Ext.ns("Ext.extension.Boolean");Ext.extension.Boolean=function(){return{strToBoolean:function(value){if(value.toLowerCase()==="false")return false;else return Boolean(value)}}}();Ext.ns("Ext.extension"); Ext.extension.Finance=function(){var DEFAULT_ROUND_BOUNDARY=10;return{calcCostNoVAT:function(priceWithVAT,quantity,vat){var result=null;if(priceWithVAT){vat=vat?vat:0;result=Ext.extension.Math.multiply(Ext.extension.Math.division(Ext.extension.Math.multiply(priceWithVAT,Ext.extension.Math.MAX_PERCENT),Ext.extension.Math.sum(Ext.extension.Math.MAX_PERCENT,vat,DEFAULT_ROUND_BOUNDARY),DEFAULT_ROUND_BOUNDARY),quantity,DEFAULT_ROUND_BOUNDARY);result=Ext.util.Format.round(result,Ext.extension.Math.DEFAULT_DECIMAL_PRECISION)}return result}, calcPriceNoVAT:function(priceWithVAT,vat){var result=null;if(priceWithVAT){vat=vat?vat:0;result=Ext.extension.Math.division(Ext.extension.Math.multiply(priceWithVAT,Ext.extension.Math.MAX_PERCENT),Ext.extension.Math.sum(Ext.extension.Math.MAX_PERCENT,vat,DEFAULT_ROUND_BOUNDARY),DEFAULT_ROUND_BOUNDARY);result=Ext.util.Format.round(result,Ext.extension.Math.DEFAULT_DECIMAL_PRECISION)}return result},calcPriceWithDiscountWithVAT:function(priceWithVAT,discount){var result=null;discount=discount?discount: 0;if(0===discount)return priceWithVAT;if(priceWithVAT){result=Ext.extension.Math.division(Ext.extension.Math.multiply(priceWithVAT,Ext.extension.Math.sum(Ext.extension.Math.MAX_PERCENT,-discount,DEFAULT_ROUND_BOUNDARY)),Ext.extension.Math.MAX_PERCENT,DEFAULT_ROUND_BOUNDARY);result=Ext.util.Format.round(result,Ext.extension.Math.DEFAULT_DECIMAL_PRECISION)}return result},calcCostWithVat:function(priceWithVAT,quantity){return this.calcCostNoVAT(priceWithVAT,quantity)},calcCostWithVAT:function(priceWithVAT, quantity){return Ext.extension.Math.multiply(priceWithVAT,quantity)},calcPriceWithVAT:function(priceNoVAT,vat){return Ext.extension.Math.division(Ext.extension.Math.multiply(priceNoVAT,Ext.extension.Math.sum(Ext.extension.Math.MAX_PERCENT,vat)),Ext.extension.Math.MAX_PERCENT)},compareQuantities:function(quantity1,quantity2){quantityPrecision=Application.components.util.Format.getQuantityPrecision();return Ext.extension.Math.compare(quantity1,quantity2,quantityPrecision)},sumQuantities:function(quantity1, quantity2){quantityPrecision=Application.components.util.Format.getQuantityPrecision();return Ext.extension.Math.sum(quantity1,quantity2,quantityPrecision)}}}();Ext.ns("Ext.extension.Integer");Ext.extension.Integer={MAX_VALUE:2147483647};Ext.extension.Math=function(){return{DEFAULT_DECIMAL_PRECISION:2,MAX_PERCENT:100,BASE_TEN:10,MINUS_ONE:-1,isEqual:function(number1,number2,decimals){decimals=Ext.isDefined(decimals)?decimals:this.DEFAULT_DECIMAL_PRECISION;return Ext.util.Format.round(number1,decimals)===Ext.util.Format.round(number2,decimals)},compare:function(number1,number2,decimals){decimals=Ext.isDefined(decimals)?decimals:this.DEFAULT_DECIMAL_PRECISION;var epsilon=Math.pow(this.BASE_TEN,-decimals),difference=number1-number2; if(Math.abs(difference)<epsilon)return 0;else return difference<0?this.MINUS_ONE:1},multiply:function(multiplicand,multiplier,decimals){decimals=Ext.isDefined(decimals)?decimals:this.DEFAULT_DECIMAL_PRECISION;var precision=Math.pow(this.BASE_TEN,decimals);var newMultiplicand=Ext.util.Format.round(Ext.util.Format.round(multiplicand,decimals)*precision,0);var newMultiplier=Ext.util.Format.round(Ext.util.Format.round(multiplier,decimals)*precision,0);return Ext.util.Format.round(newMultiplicand*newMultiplier/ (precision*precision),decimals)},division:function(divisible,divider,decimals){decimals=Ext.isDefined(decimals)?decimals:this.DEFAULT_DECIMAL_PRECISION;if(divider===0)return Ext.util.Format.round(divider,decimals);var precision=Math.round(Math.pow(this.BASE_TEN,decimals));var newDivisible=Ext.util.Format.round(Ext.util.Format.round(divisible,decimals)*precision,0);var newDivider=Ext.util.Format.round(Ext.util.Format.round(divider,decimals)*precision,0);return Ext.util.Format.round(newDivisible/newDivider, decimals)},sum:function(summand1,summand2,decimals){decimals=Ext.isDefined(decimals)?decimals:this.DEFAULT_DECIMAL_PRECISION;var precision=Math.pow(this.BASE_TEN,decimals);var newSummand1=Ext.util.Format.round(Ext.util.Format.round(summand1,decimals)*precision,0);var newSummand2=Ext.util.Format.round(Ext.util.Format.round(summand2,decimals)*precision,0);return Ext.util.Format.round((newSummand1+newSummand2)/precision,decimals)}}}();Ext.ns("Ext.extension.MessageBox"); Ext.extension.MessageBox=function(){var BRING_TO_FRONT_DELAY=50;return{confirmPromise:function(title,msg,value){return new Promise(function(resolve,reject){var mdConfirm=Ext.Msg.confirm(title,msg,function(button){if(button=="yes")resolve(value);else reject(value)});Ext.defer(function(){Ext.WindowMgr.bringToFront(mdConfirm.getDialog())},BRING_TO_FRONT_DELAY)})},alertPromise:function(mess,title,icon,defaultAction,value){title=title||"\u041e\u0448\u0438\u0431\u043a\u0430";icon=icon||"ERROR";defaultAction= defaultAction||"reject";return new Promise(function(resolve,reject){var md=Ext.MessageBox.show({title:title,msg:mess,icon:Ext.MessageBox[icon],buttons:Ext.Msg.OK,fn:function(){if(defaultAction==="reject")reject(value);else resolve(value)}});Ext.defer(function(){Ext.WindowMgr.bringToFront(md.getDialog())},BRING_TO_FRONT_DELAY)})},promptPromise:function(title,mess,value){return new Promise(function(resolve,reject){var mdPrompt=Ext.MessageBox.prompt(title,mess,function(btn,promptText){if(btn=="ok")resolve(promptText, value);else reject(value)},this,true);Ext.defer(function(){Ext.WindowMgr.bringToFront(mdPrompt.getDialog())},BRING_TO_FRONT_DELAY)})}}}();Ext.ns("Ext.extension.Promise"); Ext.extension.Promise=function(){return{showMessage:function(resp,success,fail){if(!resp)resp={};if(resp.failureType=="server"&&Ext.MessageBox.isVisible())return;if(typeof resp.success=="function")resp=resp.result||{};if(typeof resp=="string")resp={message:resp};if(resp.message&&resp.stack)return Ext.extension.Promise.showException(resp);return Ext.extension.Promise.showResponse(resp,success,fail)},showException:function(e){var message=e.stack||e.message||"\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430";return Ext.extension.MessageBox.alertPromise(message, "\u041e\u0448\u0438\u0431\u043a\u0430")},showResponse:function(resp,success,fail){success=success||"\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u0438 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u044b \u0443\u0441\u043f\u0435\u0448\u043d\u043e";fail=fail||"\u041e\u0448\u0438\u0431\u043a\u0430";var title=resp.messageTitle?resp.messageTitle:resp.success?success:fail;var icon=resp.messageIcon?resp.messageIcon:resp.success?"INFO": "ERROR";var msg=resp.message||resp.msg;var warning=resp.warnings||null;if(!msg)msg=resp.success?success:"\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430";if(warning&&warning.length){msg+="<br/>\n<b>\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435:</b> "+warning.join("<br/>\n");icon=resp.messageIcon?resp.messageIcon:"WARNING"}msg=msg.replace(/(?:\r\n|\r|\n)/g,"<br />");return Ext.extension.MessageBox.alertPromise(msg,title,icon)},message:Ext.extension.MessageBox.confirmPromise, alert:Ext.extension.MessageBox.alertPromise}}();if(!Array.prototype.map)Array.prototype.map=function(callback,thisArg){var T,A,k;if(this==null)throw new TypeError(" this is null or not defined");var O=Object(this);var len=O.length>>>0;if(typeof callback!=="function")throw new TypeError(callback+" is not a function");if(arguments.length>1)T=thisArg;A=new Array(len);k=0;while(k<len){var kValue,mappedValue;if(k in O){kValue=O[k];mappedValue=callback.call(T,kValue,k,O);A[k]=mappedValue}k++}return A}; if(!Array.prototype.find)Array.prototype.find=function(callback,thisArg){if(this==null)throw new TypeError("Array.prototype.find called on null or undefined");if(typeof callback!=="function")throw new TypeError("callback must be a function");var list=Object(this);var length=list.length>>>0;var value;for(var i=0;i<length;i++){value=list[i];if(callback.call(thisArg,value,i,list))return value}return undefined}; if(!Array.range)Array.range=function(start,end){var count=end-start+1;if(count<=0)throw Error("Incorrect range boundaries");return Array.apply(null,new Array(count)).map(function(element,index){return index+start})};if(!Function.prototype.bind)Function.prototype.bind=function(oThis){if(typeof this!=="function")throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var aArgs=Array.prototype.slice.call(arguments,1),fToBind=this,fNOP=function(){},fBound=function(){return fToBind.apply(this instanceof fNOP&&oThis?this:oThis,aArgs.concat(Array.prototype.slice.call(arguments)))};if(this.prototype)fNOP.prototype=this.prototype;fBound.prototype=new fNOP;return fBound};if(!Object.values)Object.values=function(obj){var res=[];for(var i in obj)if(obj.hasOwnProperty(i))res.push(obj[i]);return res};String.prototype.capitalize=function(){return this.replace(/(^)\S/g,function(a){return a.toUpperCase()})};String.prototype.camelCase=function(){return this.replace(/_/," ").replace(/(?:^\w|[A-Z]|\b\w)/g,function(letter,index){return index==0?letter.toLowerCase():letter.toUpperCase()}).replace(/\s+/g,"")};Ext.onReady(function(){Ext.override(Ext.Component,{getMaskEl:function(){var masks=["window","tabpanel","container"];for(var i=0;i<masks.length;i++){var parentMask=this.findParentMaskByType(masks[i]);if(parentMask)return parentMask.getEl()}return Ext.getBody()},findParentMaskByType:function(type){return this.findParentBy(function(cmp){return cmp.isXType(type,false)&&cmp.getHeight&&cmp.rendered&&cmp.getHeight()>0})},validator:function(){return true},doSomethingInPanelWithMask:function(asyncFunc,scope){if(undefined=== scope)scope=this;var mask=new Ext.LoadMask(this.getMaskEl(),{msg:"\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f..."});(new Promise(function(resolve){mask.show();resolve()})).then(function(){return asyncFunc.call(scope)}).then(function(){mask.hide()},function(error){if(error)Ext.extension.Promise.showMessage(error);mask.hide()})},saveStoreWithMask:function(){var panel=this;this.doSomethingInPanelWithMask(function(){return(new Promise(function(resolve,reject){var errorMsg=panel.validator(); if(true!==errorMsg)reject(errorMsg);resolve()})).then(function(){return panel.getStore().savePromise()})})}})});Ext.onReady(function(){var initComponentParent=Ext.Window.prototype.initComponent;Ext.override(Ext.Window,{initComponent:function(){initComponentParent.apply(this,arguments);this.on("afterlayout",function(){this.fitHeightInViewPort()})},fitHeightInViewPort:function(){var height=Ext.getBody().getViewSize().height;if(this.getHeight()>height){this.setAutoScroll(true);this.autoHeight=false;this.setHeight(height);this.center()}}})});Ext.ns("Application.components"); Application.components.Checkbox=Ext.extend(Ext.form.Checkbox,{inputValue:"true",initComponent:function(){if(this.value!==undefined)this.checked=this.value===this.inputValue;return Application.components.Checkbox.superclass.initComponent.apply(this,arguments)},onRender:function(ct,position){var div=document.createElement("div");var el=Ext.DomHelper.overwrite(div,{tag:"input",type:"hidden",value:"false",name:this.name});this.container.dom.insertBefore(el,this.dom);Application.components.Checkbox.superclass.onRender.call(this,ct, position);return this}});Ext.reg("Application.components.Checkbox",Application.components.Checkbox);Ext.ns("Application.components"); Application.components.ComboBoxBoolean=Ext.extend(Ext.form.ComboBox,{triggerAction:"all",lazyRender:true,listClass:"x-combo-list-small",editable:true,forceSelection:true,valueField:"value",displayField:"name",mode:"local",store:new Ext.data.JsonStore({fields:[{name:"value",type:"bool"},"name"],data:[{value:true,name:"\u0414\u0430"},{value:false,name:"\u041d\u0435\u0442"}]}),findRecord:function(prop,value){var record=null;if(Ext.isString(value)&&prop===this.valueField)switch(value.toLowerCase().trim()){case "true":case "1":case "yes":value=true; break;case "false":case "0":case "no":value=false;break}this.store.each(function(r){if(r.data[prop]===value){record=r;return false}});return record}});Ext.reg("Application.components.ComboBoxBoolean",Application.components.ComboBoxBoolean);if("function"!==typeof RegExp.escape)RegExp.escape=function(s){if("string"!==typeof s)return s;return s.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1")};Ext.ns("Application.components"); (function(){var selectAllValue="allItems";Application.components.ComboBoxMultiSelect=Ext.extend(Ext.form.ComboBox,{checkField:"checked_state",separator:",",addSelectAll:false,selectAllDiplay:"",selectAllIndex:0,defaultTpl:new Ext.Template('<tpl for=".">','<div class="x-combo-list-item">','<img src="{img}" ','class="extension-combobox-multiselect-icon extension-combobox-multiselect-icon-','{[values.{checkField}?"checked":"unchecked"'+']}">','<div class="extension-combobox-multiselect-item-text">{{displayField}:htmlEncode}', "</div>","</div>","</tpl>"),constructor:function(config){config=config||{};config.listeners=config.listeners||{};Ext.applyIf(config.listeners,{scope:this,beforequery:this.onBeforeQuery,afterrender:this.onAfterrender,blur:this.onRealBlur});Application.components.ComboBoxMultiSelect.superclass.constructor.call(this,config)},initComponent:function(){this.tpl=this.tpl||this.defaultTpl.apply({img:Ext.BLANK_IMAGE_URL,checkField:this.checkField,displayField:this.displayField});this.staticStore=new Ext.data.ArrayStore({fields:[this.displayField, this.valueField],data:[]});this.store.on("load",function(){if(this.store.getCount()>0&&this.selectAll&&!this.lastQuery){var allRecordData={};allRecordData[this.displayField]=this.selectAllDiplay;allRecordData[this.valueField]=selectAllValue;var allRecord=new this.store.recordType(allRecordData,this.selectAllIndex);this.store.insert(0,allRecord)}if(this.store.getCount()>this.staticStore.getCount())this.staticStore.data=this.store.data.clone();this.updateCheckBoxesState()},this);this.store.on("load", function(){if(this.value)this.setValue(this.value)},this,{single:true});this.onLoad=this.onLoad.createSequence(function(){if(this.el){var domValue=this.el.dom.value;this.el.dom.value="";this.el.dom.value=domValue}});Application.components.ComboBoxMultiSelect.superclass.initComponent.apply(this,arguments)},initEvents:function(){Application.components.ComboBoxMultiSelect.superclass.initEvents.apply(this,arguments);this.keyNav.tab=function(){this.onViewClick(true)}},setValue:function(value){if(!this.store.getCount())return; if(value){if(this.addSelectAll&&value==selectAllValue){this.selectAll();return}this.store.clearFilter();this.value=value;this.updateCheckBoxesState();if(this.hiddenField)this.hiddenField.value=value;if(this.el)this.el.removeClass(this.emptyClass);this.setRawValue(this.getCheckedDisplay())}else this.clearValue()},getValue:function(forSelf){var value=Application.components.ComboBoxMultiSelect.superclass.getValue.call(this),checkedAll=true;this.staticStore.each(function(record){checkedAll=checkedAll&& value.match("(^|"+this.separator+")"+RegExp.escape(record.get(this.valueField))+"("+this.separator+"|$)")},this);if(!forSelf||!checkedAll){var expr=new RegExp(selectAllValue+this.separator+"?");value=value.replace(expr,"")}return value},getCheckedDisplay:function(){var displayString=this.getCheckedValue(this.displayField),selectAllDiplayExpr=new RegExp(this.selectAllDiplay+this.separator+"?");if(this.selectAllDiplay&&displayString.match(selectAllDiplayExpr))if(!this.lastQuery)displayString=this.selectAllDiplay; else displayString=displayString.replace(selectAllDiplayExpr,"").replace(new RegExp(this.separator,"g"),this.separator+" ");return displayString},getCheckedValue:function(field){field=field||this.valueField;var checked=[];this.staticStore.each(function(record){if(record.get(this.checkField))checked.push(record.get(field))},this);return checked.join(this.separator)},updateStoreRecord:function(record,field,value){record.set(field,value);var dynamicStoreRecord=this.store.getById(record.id);if(dynamicStoreRecord)dynamicStoreRecord.set(field, value)},updateCheckBoxesState:function(){var value=this.getValue(true);this.staticStore.each(function(record){var checked=value.match("(^|"+this.separator+")"+RegExp.escape(record.get(this.valueField))+"("+this.separator+"|$)");this.updateStoreRecord(record,this.checkField,!!checked)},this)},selectAll:function(){this.staticStore.each(function(record){this.updateStoreRecord(record,this.checkField,true)},this);this.doQuery(this.allQuery);this.setValue(this.getCheckedValue())},deselectAll:function(){this.clearValue()}, clearValue:function(){this.value="";this.setRawValue(this.value);this.store.clearFilter();this.staticStore.each(function(record){this.updateStoreRecord(record,this.checkField,false)},this);if(this.hiddenField)this.hiddenField.value="";this.applyEmptyText()},onBeforeQuery:function(qe){qe.query=qe.query.replace(new RegExp(RegExp.escape(this.getCheckedDisplay())+"[ "+this.separator+"]*"),"")},onSelect:function(record,index){if(this.fireEvent("beforeselect",this,record,index)!==false){var staticRecord= this.staticStore.getById(record.id);this.updateStoreRecord(staticRecord,this.checkField,!staticRecord.get(this.checkField));if(this.addSelectAll)if(staticRecord.get(this.valueField)!=selectAllValue){this.updateStoreRecord(this.staticStore.getAt(this.selectAllIndex),this.checkField,false);this.setValue(this.getCheckedValue())}else if(index==this.selectAllIndex&&!staticRecord.get(this.checkField))this.deselectAll();else if(index==this.selectAllIndex)this.selectAll();if(this.store.isFiltered()||this.lastQuery)this.doQuery(this.allQuery, true);this.fireEvent("select",this,staticRecord,index)}},onRealBlur:function(){this.list.hide();var rawValue=this.getRawValue();var rva=rawValue.split(new RegExp(RegExp.escape(this.separator)+" *"));var selectedValues=[];Ext.each(rva,function(v){this.staticStore.each(function(record){if(v===record.get(this.displayField))selectedValues.push(record.get(this.valueField))},this)},this);this.setValue(selectedValues.join(this.separator));this.store.clearFilter()},onAfterrender:function(){this.store.load()}, beforeBlur:Ext.emptyFn})})();Ext.reg("ComboBoxMultiSelect",Application.components.ComboBoxMultiSelect);Ext.ns("Application.components"); Application.components.NumberField=Application.components.numberField=Ext.extend(Ext.form.NumberField,{decimalLength:0,isSetZeroWhenChangeToNull:false,useNull:false,zeroText:"\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043d\u0435 \u043d\u0443\u043b\u0435\u0432\u044b\u043c",allowZero:true,listeners:{change:function(e,v){}},initComponent:function(){var format=Application.components.util.Format.getFormatNumber();Ext.apply(this,format); Application.components.numberField.superclass.initComponent.call(this);if(this.decimalLength)this.maxValue=Math.pow(Ext.extension.Math.BASE_TEN,this.decimalLength)-1},getValue:function(){var v=Application.components.NumberField.superclass.getValue.apply(this,arguments);if(this.useNull&&v==="")v=null;return v},getErrors:function(value){var errors=Application.components.NumberField.superclass.getErrors.apply(this,arguments);if(!this.allowZero&&0==value)errors.push(this.zeroText);return errors}}); Ext.reg("Application.components.numberField",Application.components.numberField);Ext.reg("Application.components.NumberField",Application.components.numberField);Application.components.VATField=Ext.extend(Application.components.NumberField,{allowNegative:false,allowDecimals:true,decimalLength:2,decimalPrecision:0});Ext.reg("Application.components.VATField",Application.components.VATField);Ext.ns("Application.components.percentField");Application.components.percentField=Ext.extend(Application.components.numberField,{allowNegative:false,allowDecimals:true,maxValue:100,decimalPrecision:2});Ext.reg("Application.components.percentField",Application.components.percentField);Ext.ns("Application.components.priceField");Application.components.priceField=Ext.extend(Application.components.NumberField,{allowNegative:false,allowDecimals:true,decimalLength:13,decimalPrecision:2});Ext.reg("Application.components.priceField",Application.components.priceField);Ext.ns("Ext.extension.grid"); Ext.extension.grid.ColumnHeaderGroup=Ext.extend(Ext.util.Observable,{constructor:function(config){this.config=config},init:function(grid){Ext.applyIf(grid.colModel,this.config);Ext.apply(grid.getView(),this.viewConfig)},viewConfig:{initTemplates:function(){this.constructor.prototype.initTemplates.apply(this,arguments);var templates=this.templates||{};if(!templates.gcell)templates.gcell=new Ext.XTemplate('<td class="x-grid3-hd x-grid3-gcell x-grid3-td-{id} ux-grid-hd-group-row-{row} {cls}" '+'style="{style}">', '<div {tooltip} class="x-grid3-hd-inner x-grid3-hd-{id}" unselectable="on" style="{istyle}">',this.grid.enableHdMenu?'<a class="x-grid3-hd-btn" href="#"></a>':"","{value}"+"</div>"+"</td>");this.templates=templates;this.hrowRe=new RegExp("ux-grid-hd-group-row-(\\d+)","")},renderHeaders:function(){var templates=this.templates,headers=[],cm=this.cm,rows=cm.rows,tstyle="width:"+this.getTotalWidth()+";";for(var rowIndex=0,rlen=rows.length;rowIndex<rlen;rowIndex++){var row=rows[rowIndex],cells=[];for(var i= 0,groupColspan=0,len=row.length;i<len;i++){var group=row[i];group.colspan=group.colspan||1;var id=this.getColumnId(group.dataIndex?cm.findColumnIndex(group.dataIndex):groupColspan),groupStyle=Ext.extension.grid.ColumnHeaderGroup.prototype.getGroupStyle.call(this,group,groupColspan);cells[i]=templates.gcell.apply({cls:"ux-grid-hd-group-cell",id:id,row:rowIndex,style:"width:"+groupStyle.width+";"+(groupStyle.hidden?"display:none;":"")+(group.align?"text-align:"+group.align+";":""),tooltip:group.tooltip? (Ext.QuickTips.isEnabled()?"ext:qtip":"title")+'="'+group.tooltip+'"':"",istyle:group.align=="right"?"padding-right:16px":"",btn:this.grid.enableHdMenu&&group.header,value:group.header||" "});groupColspan+=group.colspan}headers[rowIndex]=templates.header.apply({tstyle:tstyle,cells:cells.join("")})}headers.push(this.constructor.prototype.renderHeaders.apply(this,arguments));return headers.join("")},onColumnWidthUpdated:function(){this.constructor.prototype.onColumnWidthUpdated.apply(this,arguments); Ext.extension.grid.ColumnHeaderGroup.prototype.updateGroupStyles.call(this)},onAllColumnWidthsUpdated:function(){this.constructor.prototype.onAllColumnWidthsUpdated.apply(this,arguments);Ext.extension.grid.ColumnHeaderGroup.prototype.updateGroupStyles.call(this)},onColumnHiddenUpdated:function(){this.constructor.prototype.onColumnHiddenUpdated.apply(this,arguments);Ext.extension.grid.ColumnHeaderGroup.prototype.updateGroupStyles.call(this)},getHeaderCell:function(index){return this.mainHd.query(this.cellSelector)[index]}, findHeaderCell:function(el){return el?this.fly(el).findParent("td.x-grid3-hd",this.cellSelectorDepth):false},findHeaderIndex:function(el){var header=this.findHeaderCell(el);return header?this.getCellIndex(header):false},updateSortIcon:function(col,dir){var sortClasses=this.sortClasses,headerSelect=this.mainHd.select(this.cellSelector).removeClass(sortClasses);headerSelect.item(col).addClass(sortClasses[dir=="DESC"?1:0])},handleHdDown:function(e,t){var element=Ext.get(t);if(element.hasClass("x-grid3-hd-btn")){e.stopEvent(); var header=this.findHeaderCell(t);Ext.fly(header).addClass("x-grid3-hd-menu-open");var index=this.getCellIndex(header);this.hdCtxIndex=index;var hmenuItems=this.hmenu.items,cm=this.cm;hmenuItems.get("asc").setDisabled(!cm.isSortable(index));hmenuItems.get("desc").setDisabled(!cm.isSortable(index));this.hmenu.on("hide",function(){Ext.fly(header).removeClass("x-grid3-hd-menu-open")},this,{single:true});this.hmenu.show(t,"tl-bl?")}else if(element.hasClass("ux-grid-hd-group-cell")||Ext.fly(t).up(".ux-grid-hd-group-cell"))e.stopEvent()}, handleHdMove:function(e){var header=this.findHeaderCell(this.activeHdRef),defaultHandleWidth=5,defaultActiveHdBtn=2;if(header&&!this.headersDisabled&&!Ext.fly(header).hasClass("ux-grid-hd-group-cell")){var handleWidth=this.splitHandleWidth||defaultHandleWidth,activeHdRegion=this.activeHdRegion,pageX=e.getPageX(),handleStyle=header.style,cursor="";if(this.grid.enableColumnResize!==false)if(pageX-activeHdRegion.left<=handleWidth&&this.cm.isResizable(this.activeHdIndex-1))cursor=Ext.isAir?"move":Ext.isWebKit? "e-resize":"col-resize";else if(activeHdRegion.right-pageX<=(!this.activeHdBtn?handleWidth:defaultActiveHdBtn)&&this.cm.isResizable(this.activeHdIndex))cursor=Ext.isAir?"move":Ext.isWebKit?"w-resize":"col-resize";handleStyle.cursor=cursor}},handleHdOver:function(e,t){var header=this.findHeaderCell(t);if(header&&!this.headersDisabled){this.activeHdRef=t;this.activeHdIndex=this.getCellIndex(header);var fly=this.fly(header);this.activeHdRegion=fly.getRegion();if(!(this.cm.isMenuDisabled(this.activeHdIndex)|| fly.hasClass("ux-grid-hd-group-cell"))){fly.addClass("x-grid3-hd-over");this.activeHdBtn=fly.child(".x-grid3-hd-btn");if(this.activeHdBtn)this.activeHdBtn.dom.style.height=header.firstChild.offsetHeight-1+"px"}}},handleHdOut:function(e,t){var header=this.findHeaderCell(t);if(header&&(!Ext.isIE||!e.within(header,true))){this.activeHdRef=null;this.fly(header).removeClass("x-grid3-hd-over");header.style.cursor=""}},getCmHidden:function(itemId,item){var twoItemIdLength=4,cm=this.cm;if(itemId.indexOf("group-")=== 0){var itemParts=itemId.split("-"),indexTwo=2,rowIndex=parseInt(itemParts[1],10),col=parseInt(itemParts[indexTwo],10),row=this.cm.rows[rowIndex],group,groupColspan=0;for(var i=0,lenRow=row.length;i<lenRow;i++){group=row[i];if(col>=groupColspan&&col<groupColspan+group.colspan)break;groupColspan+=group.colspan}if(item.checked){var max=cm.getColumnsBy(this.isHideableColumn,this).length;for(var grColspanIndex=groupColspan,lenGroupColspan=groupColspan+group.colspan;grColspanIndex<lenGroupColspan;grColspanIndex++)if(!cm.isHidden(grColspanIndex))max--; if(max<1){this.onDenyColumnHide();return false}}for(var grColIndex=groupColspan,len=groupColspan+group.colspan;grColIndex<len;grColIndex++)if(cm.config[grColIndex].fixed!==true&&cm.config[grColIndex].hideable!==false)cm.setHidden(grColIndex,item.checked)}else if(itemId.indexOf("col-")===0){var noFindIndex=-1;index=cm.getIndexById(itemId.substr(twoItemIdLength));if(index!=noFindIndex){if(item.checked&&cm.getColumnsBy(this.isHideableColumn,this).length<=1){this.onDenyColumnHide();return false}cm.setHidden(index, item.checked)}}},handleHdMenuClick:function(item){var index=this.hdCtxIndex,cm=this.cm,ds=this.ds,itemId=item.getItemId();switch(itemId){case "asc":ds.sort(cm.getDataIndex(index),"ASC");break;case "desc":ds.sort(cm.getDataIndex(index),"DESC");break;default:this.getCmHidden(itemId,item);if(itemId.indexOf("group-")===0||itemId.indexOf("col-")===0){item.checked=!item.checked;if(item.menu){var updateChildren=function(menu){menu.items.each(function(childItem){if(!childItem.disabled){childItem.setChecked(item.checked, false);if(childItem.menu)updateChildren(childItem.menu)}})};updateChildren(item.menu)}var parentMenu=item,parentItem;parentMenu=parentMenu.parentMenu;while(parentMenu){if(!parentMenu.parentMenu||!(parentItem=parentMenu.parentMenu.items.get(parentMenu.getItemId()))||!parentItem.setChecked)break;var checked=parentMenu.items.findIndexBy(function(m){return m.checked})>=0;parentItem.setChecked(checked,true);parentMenu=parentMenu.parentMenu}item.checked=!item.checked}}return true},afterRenderUI:function(){this.constructor.prototype.afterRenderUI.apply(this, arguments);Ext.apply(this.columnDrop,Ext.extension.grid.ColumnHeaderGroup.prototype.columnDropConfig);Ext.apply(this.splitZone,Ext.extension.grid.ColumnHeaderGroup.prototype.splitZoneConfig)}},splitZoneConfig:{allowHeaderDrag:function(e){return!e.getTarget(null,null,true).hasClass("ux-grid-hd-group-cell")}},columnDropConfig:{getTargetFromEvent:function(e){var target=Ext.lib.Event.getTarget(e);return this.view.findHeaderCell(target)},positionIndicator:function(h,n,e){var data=Ext.extension.grid.ColumnHeaderGroup.prototype.getDragDropData.call(this, h,n,e);if(data===false)return false;var px=data.px+this.proxyOffsets[0];this.proxyTop.setLeftTop(px,data.r.top+this.proxyOffsets[1]);this.proxyTop.show();this.proxyBottom.setLeftTop(px,data.r.bottom);this.proxyBottom.show();return data.pt},onNodeDrop:function(n,dd,e,data){var header=data.header;if(header!=n){var dragDropData=Ext.extension.grid.ColumnHeaderGroup.prototype.getDragDropData.call(this,header,n,e);if(dragDropData===false)return false;var cm=this.grid.colModel,right=dragDropData.oldIndex< dragDropData.newIndex,rows=cm.rows;for(var rowIndex=dragDropData.row,rlen=rows.length;rowIndex<rlen;rowIndex++){var row=rows[rowIndex],len=row.length,fromIx=0,span=1,toIx=len;for(var i=0,groupColspan=0;i<len;i++){var group=row[i];if(dragDropData.oldIndex>=groupColspan&&dragDropData.oldIndex<groupColspan+group.colspan)fromIx=i;if(dragDropData.oldIndex+dragDropData.colspan-1>=groupColspan&&dragDropData.oldIndex+dragDropData.colspan-1<groupColspan+group.colspan)span=i-fromIx+1;if(dragDropData.newIndex>= groupColspan&&dragDropData.newIndex<groupColspan+group.colspan)toIx=i;groupColspan+=group.colspan}var groups=row.splice(fromIx,span);rows[rowIndex]=row.splice(0,toIx-(right?span:0)).concat(groups).concat(row)}for(var colspanIndex=0;colspanIndex<dragDropData.colspan;colspanIndex++){var rightIndex=-1,oldIx=dragDropData.oldIndex+(right?0:colspanIndex),newIx=dragDropData.newIndex+(right?rightIndex:colspanIndex);cm.moveColumn(oldIx,newIx);this.grid.fireEvent("columnmove",oldIx,newIx)}return true}return false}}, getGroupStyle:function(group,groupColspan){var width=0,hidden=true;for(var i=groupColspan,len=groupColspan+group.colspan;i<len;i++)if(!this.cm.isHidden(i)){var columnWidth=this.cm.getColumnWidth(i);if(typeof columnWidth=="number")width+=columnWidth;hidden=false}return{width:Math.max(width-this.borderWidth,0)+"px",hidden:hidden}},updateGroupStyles:function(col){var tables=this.mainHd.query(".x-grid3-header-offset > table"),totalWidth=this.getTotalWidth(),rows=this.cm.rows;for(var row=0;row<tables.length;row++){tables[row].style.width= totalWidth;if(row<rows.length){var cells=tables[row].firstChild.firstChild.childNodes;for(var i=0,groupColspan=0;i<cells.length;i++){var group=rows[row][i];if(typeof col!="number"||col>=groupColspan&&col<groupColspan+group.colspan){var groupStyle=Ext.extension.grid.ColumnHeaderGroup.prototype.getGroupStyle.call(this,group,groupColspan);cells[i].style.width=groupStyle.width;cells[i].style.display=groupStyle.hidden?"none":""}groupColspan+=group.colspan}}}},getGroupRowIndex:function(el){if(el){var classNameMatch= el.className.match(this.hrowRe);if(classNameMatch&&classNameMatch[1])return parseInt(classNameMatch[1],10)}return this.cm.rows.length},getGroupSpan:function(row,col){if(row<0)return{col:0,colspan:this.cm.getColumnCount()};var cmRow=this.cm.rows[row];if(cmRow){for(var i=0,groupColspan=0,len=r.length;i<len;i++){var group=cmRow[i];if(col>=groupColspan&&col<groupColspan+group.colspan)return{col:groupColspan,colspan:group.colspan};groupColspan+=group.colspan}return{col:groupColspan,colspan:0}}return{col:col, colspan:1}},getDragDropData:function(h,n,e){if(h.parentNode!=n.parentNode)return false;var cm=this.grid.colModel,pageX=Ext.lib.Event.getPageX(e),domRegion=Ext.lib.Dom.getRegion(n.firstChild),px,pt,length=2;if(domRegion.right-pageX<=(domRegion.right-domRegion.left)/length){px=domRegion.right+this.view.borderWidth;pt="after"}else{px=domRegion.left;pt="before"}var oldIndex=this.view.getCellIndex(h),newIndex=this.view.getCellIndex(n);if(cm.isFixed(newIndex))return false;var row=Ext.extension.grid.ColumnHeaderGroup.prototype.getGroupRowIndex.call(this.view, h),oldGroup=Ext.extension.grid.ColumnHeaderGroup.prototype.getGroupSpan.call(this.view,row,oldIndex),newGroup=Ext.extension.grid.ColumnHeaderGroup.prototype.getGroupSpan.call(this.view,row,newIndex),oldIndexGroup=oldGroup.col;newIndex=newGroup.col+(pt=="after"?newGroup.colspan:0);if(newIndex>=oldGroup.col&&newIndex<=oldGroup.col+oldGroup.colspan)return false;var parentGroup=Ext.extension.grid.ColumnHeaderGroup.prototype.getGroupSpan.call(this.view,row-1,oldIndex);if(newIndex<parentGroup.col||newIndex> parentGroup.col+parentGroup.colspan)return false;return{r:domRegion,px:px,pt:pt,row:row,oldIndex:oldIndexGroup,newIndex:newIndex,colspan:oldGroup.colspan}}});Ext.ns("Ext.extension.grid"); Ext.extension.grid.GridMaxHeight={rowHeight:undefined,maxRows:undefined,hideEmpty:undefined,visibleMaxRows:undefined,additionalHeight:undefined,init:function(grid){this.initEventsHandler(grid,this.checkParams(grid))},checkParams:function(grid){var defaultMaxRows=5;return{rowHeight:grid.rowHeight?grid.rowHeight:undefined,maxRows:grid.maxRows?grid.maxRows:defaultMaxRows,hideEmpty:grid.hideEmpty?grid.hideEmpty:false,additionalHeight:grid.additionalHeight?grid.additionalHeight:0,visibleMaxRows:grid.visibleMaxRows? grid.visibleMaxRows:0}},initEventsHandler:function(grid,config){var handler=function(){this.onStoreDataChanged(grid,config)};grid.getStore().on("add",handler,this);grid.getStore().on("clear",handler,this);grid.getStore().on("datachanged",handler,this);grid.getStore().on("load",handler,this);grid.getStore().on("remove",handler,this);grid.on("afterrender",handler,this,{single:true})},onStoreDataChanged:function(grid,config){if(!grid.rendered||grid.isDestroyed)return;var rows=grid.getStore().getCount(); if(0==rows&&!!config.hideEmpty){grid.hide();this.doLayout(grid);return}if(0==rows){var height=45;grid.body.setHeight(height);this.doLayout(grid);return}if(!grid.getView().getRow(0)&&rows>0){var millis=100;this.onStoreDataChanged.defer(millis,this,[grid,config]);return}var milliseconds=50;this.calc.defer(milliseconds,this,[grid,config,rows])},calc:function(grid,config,rows){if(!grid.rendered||grid.isDestroyed)return;var defaultHeaderHeight=25,headerHeight=grid.getView().mainHd?grid.getView().mainHd.getHeight(): defaultHeaderHeight,rowHeight=config.rowHeight?config.rowHeight:(new Ext.Element(grid.getView().getRow(0))).getHeight(false),multiplier=rows<config.maxRows?rows:config.maxRows,additionalHeight=config.additionalHeight?config.additionalHeight:0;if(config.visibleMaxRows){var rowsHeight=0;for(var i=0;i<config.visibleMaxRows;i++)if(grid.getView().getRow(i))rowsHeight+=(new Ext.Element(grid.getView().getRow(i))).getHeight(false);grid.body.setHeight(rowsHeight+headerHeight+additionalHeight)}else grid.body.setHeight(rowHeight* multiplier+headerHeight+additionalHeight);this.doLayout(grid)},doLayout:function(grid){grid.getView().layout();grid.getView().syncScroll();grid.getView().refresh(true);grid.doLayout();if(grid.ownerCt&&grid.ownerCt.doLayout)grid.ownerCt.doLayout()}};Ext.preg("GridMaxHeight",Ext.extension.grid.GridMaxHeight);Ext.ns("Ext.extension.grid"); Ext.extension.grid.GridSummary=Ext.extend(Ext.util.Observable,{scrollBarWidth:17,constructor:function(config){Ext.apply(this,config);Ext.extension.grid.GridSummary.superclass.constructor.call(this)},init:function(grid){this.grid=grid;var v=this.view=grid.getView();v.onLayout=this.onLayout;if(Ext.isIE6||Ext.isIE7){if(!grid.events["viewready"])v.afterMethod("afterRender",function(){this.grid.fireEvent("viewready",this.grid)},this);grid.on("viewready",function(){this.toggleGridHScroll(false)},this,{delay:10})}else v.afterMethod("render", this.toggleGridHScroll,this);v.afterMethod("render",this.refreshSummary,this);v.afterMethod("refresh",this.refreshSummary,this);v.afterMethod("onColumnWidthUpdated",this.doWidth,this);v.afterMethod("onAllColumnWidthsUpdated",this.doAllWidths,this);v.afterMethod("onColumnHiddenUpdated",this.doHidden,this);if(Ext.isGecko||Ext.isOpera)v.afterMethod("onDataChange",this.restoreGridHScroll,this);grid.on({bodyscroll:this.syncSummaryScroll,beforedestroy:this.beforeDestroy,scope:this});grid.store.on({add:this.refreshSummary, remove:this.refreshSummary,clear:this.refreshSummary,update:this.refreshSummary,scope:this});if(!this.rowTpl){this.rowTpl=new Ext.Template('<div class="x-grid3-summary-row x-grid3-gridsummary-row-offset">','<table class="x-grid3-summary-table" border="0" cellspacing="0" cellpadding="0" style="{tstyle}">',"<tbody><tr>{cells}</tr></tbody>","</table>","</div>");this.rowTpl.disableFormats=true}this.rowTpl.compile();if(!this.cellTpl){this.cellTpl=new Ext.Template('<td class="x-grid3-col x-grid3-cell x-grid3-td-{id} {css}" style="{style}">', '<div class="x-grid3-cell-inner x-grid3-col-{id}" unselectable="on" {attr}>{value}</div>',"</td>");this.cellTpl.disableFormats=true}this.cellTpl.compile()},calculate:function(rs,cm){var data={},r,cfg=cm.config,cf,i,len,cname,j,jlen;for(i=0,len=cfg.length;i<len;i++){cf=cfg[i];cname=cf.dataIndex;data[cname]=0;if(cf.summaryType)for(j=0,jlen=rs.length;j<jlen;j++){r=rs[j];data[cname]=Ext.extension.grid.GridSummary.Calculations[cf.summaryType](r.get(cname),r,cname,data,j)}}return data},onLayout:function(vw, vh){if(typeof vh!="number")return;if(!this.grid.getGridEl().hasClass("x-grid-hide-gridsummary"))this.scroller.setHeight(vh-this.summaryWrap.getHeight())},syncScroll:function(refEl,scrollEl,currX,currY){currX=currX||refEl.scrollLeft;currY=currY||refEl.scrollTop;if(this.oldX!=currX){scrollEl.scrollLeft=currX;scrollEl.scrollLeft=currX}this.oldX=currX;this.oldY=currY},syncSummaryScroll:function(currX,currY){var v=this.view,y=this.oldY;if(Ext.isGecko&&currX===0&&this.oldX>0&&(y!==currY||y===0))this.restoreGridHScroll(); else this.syncScroll(v.scroller.dom,v.summaryWrap.dom,currX,currY)},restoreGridHScroll:function(){this.view.scroller.dom.scrollLeft=this.oldX||0},syncGridHScroll:function(){var v=this.view;this.syncScroll(v.summaryWrap.dom,v.scroller.dom)},doWidth:function(col,w,tw){var s=this.getSummaryNode(),fc=s.dom.firstChild;fc.style.width=tw;fc.rows[0].childNodes[col].style.width=w;this.updateSummaryWidth()},doAllWidths:function(ws,tw){var s=this.getSummaryNode(),fc=s.dom.firstChild,cells=fc.rows[0].childNodes, wlen=ws.length,j;fc.style.width=tw;for(j=0;j<wlen;j++)cells[j].style.width=ws[j];this.updateSummaryWidth()},doHidden:function(col,hidden,tw){var s=this.getSummaryNode(),fc=s.dom.firstChild,display=hidden?"none":"";fc.style.width=tw;fc.rows[0].childNodes[col].style.display=display;this.updateSummaryWidth()},getGridHeader:function(){if(!this.gridHeader)this.gridHeader=this.view.mainHd.child(".x-grid3-header-offset");return this.gridHeader},updateSummaryWidth:function(){},renderSummary:function(o,cs, cm){this.grid.summary=o.data;cs=cs||this.view.getColumnData();var cfg=cm.config,buf=[],c,p={},cf,last=cs.length-1;for(var i=0,len=cs.length;i<len;i++){c=cs[i];cf=cfg[i];p.id=c.id;p.style=c.style;if(this.style)p.style=c.style+this.style;p.css=i==0?"x-grid3-cell-first ":i==last?"x-grid3-cell-last ":"";if(cf.totalLabel)p.value=cf.totalLabel;else if(cf.summaryType||cf.summaryRenderer)p.value=(cf.summaryRenderer||c.renderer).call(c.scope,o.data[c.name],p,o);else p.value="";if(p.value==undefined||p.value=== "")p.value=" ";buf[buf.length]=this.cellTpl.apply(p)}return this.rowTpl.apply({tstyle:"width:"+this.view.getTotalWidth()+";",cells:buf.join("")})},refreshSummary:function(){var g=this.grid,ds=g.store,cs=this.view.getColumnData(),cm=g.getColumnModel(),rs=ds.getRange(),data=this.calculate(rs,cm),buf=this.renderSummary({data:data},cs,cm),rowHeight=18;if(!this.view.summaryWrap){this.view.summaryWrap=Ext.DomHelper[this.position=="bottom"?"insertAfter":"insertBefore"](this.view.scroller,{style:"overflow:auto;"+ (Ext.isIE6||Ext.isIE7?"width:100%;overflow-y:hidden;height:"+((Ext.getScrollBarWidth?Ext.getScrollBarWidth():this.scrollBarWidth)+rowHeight)+"px;":""),tag:"div",cls:"x-grid3-gridsummary-row-inner"},true);this.view.summaryWrap.on("scroll",this.syncGridHScroll,this)}this.setSummaryNode(this.view.summaryWrap.update(buf).first());this.updateSummaryWidth()},toggleGridHScroll:function(allowHScroll){this.view.scroller[allowHScroll===undefined?"toggleClass":allowHScroll?"removeClass":"addClass"]("x-grid3-gridsummary-hide-hscroll")}, toggleSummary:function(visible){var el=this.grid.getGridEl(),v=this.view;if(el){el[visible===undefined?"toggleClass":visible?"removeClass":"addClass"]("x-grid-hide-gridsummary");this.toggleGridHScroll();v.layout();v.summaryWrap.dom.scrollLeft=v.scroller.dom.scrollLeft}},getSummaryNode:function(){return this.view.summary},setSummaryNode:function(sn){this.view.summary=sn},beforeDestroy:function(){Ext.destroy(this.view.summary,this.view.summaryWrap);this.grid.store.un("add",this.refreshSummary,this); this.grid.store.un("remove",this.refreshSummary,this);this.grid.store.un("clear",this.refreshSummary,this);this.grid.store.un("update",this.refreshSummary,this);delete this.grid;delete this.view;delete this.gridHeader;delete this.oldX;delete this.oldY}});Ext.preg("gridsummary",Ext.extension.grid.GridSummary); Ext.extension.grid.GridSummary.Calculations={sum:function(v,record,colName,data){return data[colName]+Ext.num(v,0)},count:function(v,record,colName,data,rowIdx){return rowIdx+1},max:function(v,record,colName,data){return Math.max(Ext.num(v,0),data[colName])},min:function(v,record,colName,data){return Math.min(Ext.num(v,0),data[colName])},average:function(v,record,colName,data,rowIdx){var t=data[colName]+Ext.num(v,0),count=record.store.getCount();return rowIdx==count-1?t/count:t}};Ext.ns("Ext.extension.plugin"); Ext.extension.plugin.Stateful=Ext.extend(Ext.util.Observable,{saveMicroSecond:24*60*60*1E3,scrollDefer:100,clearDefer:500,init:function(cmp){var complexCmp=false;if(!cmp.name&&!cmp.extExtensionStateName)return;if(!cmp.extExtensionStateName)cmp.extExtensionStateName=cmp.name;this.cmp=cmp;var stateEvents=["select","change","blur","check","beforedestroy","statechanged"];cmp.stateData={};if(cmp.getColumnModel){stateEvents.push("resize","columnmove","hiddenchange","columnresize");cmp.relayEvents(cmp.getColumnModel(), ["hiddenchange"])}if(cmp.getStore){cmp.addEvents(["storeloaded"]);stateEvents.push("storeloaded");cmp.getStore().on("load",function(store,data,options){if(options&&options.params){cmp.stateData.storeOptions={params:options.params,sort:store.getSortState()};cmp.fireEvent("storeloaded")}})}if(cmp.getView)complexCmp=true;Ext.apply(cmp,{stateful:true,stateId:cmp.extExtensionStateName,stateEvents:stateEvents,getState:this.getState.bind(this),applyState:this.applyState.bind(this)});if(complexCmp){var toolpanel= {tools:[]};if(cmp.header||cmp.title)toolpanel=cmp;else if(cmp.outerPanel&&(cmp.outerPanel.header||cmp.outerPanel.title))toolpanel=cmp.outerPanel;toolpanel.tools=toolpanel.tools||[];toolpanel.tools.push({id:"refresh",handler:this.clearState,scope:this,qtip:"\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0432\u0438\u0434 \u043a \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u043c\u0443)"})}cmp.on("beforestatesave", this.onBeforeStateSave)},getState:function(){if(this.cmp.stateClear)return null;var state={savedAt:(new Date).getTime()};if(this.cmp.getValue)state.value=this.cmp.getValue();else if(this.cmp.getValues)state.value=this.cmp.getValues();if(this.cmp.getColumnModel){state.columns=[];this.cmp.getColumnModel().getColumnsBy(function(c){if(!c)return;state.columns.push({hidden:!!c.hidden,width:c.width,id:c.id})})}if(this.cmp.getView){var el=this.cmp.getView().scroller;state.scroll=el?el.getScroll():undefined}if(this.cmp.stateData.storeOptions)state.storeOptions= this.cmp.stateData.storeOptions;this.getToolbarsState(state);this.getComponentState(state);return{extExtension:state}},getToolbarsState:function(state){if(!this.cmp.getTopToolbar)return;var bar=this.cmp.getTopToolbar();if(!bar||!bar.getValues)return;state.toolbars={};state.toolbars[bar.name||bar.xtype]=bar.getValues()},getComponentState:function(state){state.components={};var cmpList=this.getComponentList();for(var i=0;i<cmpList.length;i++){var cmp=cmpList[i];if(cmp)if(cmp.getValue)state.components[cmp.name|| cmp.xtype]=cmp.getValue();else if(cmp.getValues)state.components[cmp.name||cmp.xtype]=cmp.getValues()}},setComponentState:function(state){if(!state||!state.components)return;var cmpList=this.getComponentList();for(var i=0;i<cmpList.length;i++){var cmp=cmpList[i];if(cmp){var value=state.components[cmp.name||cmp.xtype];if(undefined!==value)if(cmp.setValue)cmp.setValue(value);else if(cmp.setValues)cmp.setValues(value)}}},getComponentList:function(){if(!this.cmp.extExtensionStateComponentArray)return[]; var cmpList=this.cmp.extExtensionStateComponentArray;if("function"===typeof this.cmp.extExtensionStateComponentArray)cmpList=this.cmp.extExtensionStateComponentArray.apply(this.cmp);return cmpList},applyState:function(stateIn){if(!stateIn||!stateIn.extExtension)return;var state=stateIn.extExtension;var i;var now=(new Date).getTime();if(state.savedAt&&state.savedAt+this.saveMicroSecond<now)return;this.cmp.onRestoreState=true;if(state.value){this.cmp.value=state.value;if(this.cmp.setValue)this.cmp.setValue(this.cmp.value); else if(this.setValues)this.cmp.setValues(this.cmp.value)}if(state.columns&&state.columns.length&&this.cmp.getColumnModel){var columns=this.cmp.getColumnModel();var n=-1;this.cmp.suspendEvents(false);var positions=[];var currentPositionList=[];columns.getColumnsBy(function(c){n++;if(!c)return;for(var i=0;i<state.columns.length;i++){if(state.columns[i].id!=c.id)continue;positions[i]=n;columns.setColumnWidth(n,state.columns[i].width);columns.setHidden(n,state.columns[i].hidden);break}});for(i=0;i<positions.length;i++)currentPositionList[i]= i;for(i=0;i<positions.length;i++)if(positions[i]!=currentPositionList[i]){var oldindex=false;for(var j=i;j<currentPositionList.length;j++)if(currentPositionList[j]==positions[i]){oldindex=j;break}if(!oldindex)break;for(j=i+1;j<=oldindex;j++)currentPositionList[j]=currentPositionList[j-1];currentPositionList[i]=positions[i];columns.moveColumn(oldindex,i)}this.cmp.resumeEvents()}if(state.toolbars&&this.cmp.getTopToolbar){var bar=this.cmp.getTopToolbar();if(bar&&bar.setValues&&state.toolbars[bar.name|| bar.xtype])bar.setValues(state.toolbars[bar.name||bar.xtype])}this.setComponentState(state);if(this.cmp.getStore&&state.storeOptions){var store=this.cmp.getStore();if(state.storeOptions.params)for(i in state.storeOptions.params){if(!state.storeOptions.params.hasOwnProperty(i))continue;store.setBaseParam(i,state.storeOptions.params[i])}if(state.storeOptions.sort)store.sortInfo=state.storeOptions.sort}if(state.scroll&&this.cmp.getView){var doScroll=function(){var el=this.cmp.getView().scroller;if(el){el.scrollTo("top", state.scroll.top);el.scrollTo("left",state.scroll.left)}};if(this.cmp.getStore)this.cmp.getStore().on("load",function(){doScroll.defer(this.scrollDefer,this)},this,{single:true});else doScroll.defer(this.scrollDefer,this)}this.cmp.onRestoreState=false},onBeforeStateSave:function(cmp){if(cmp.onRestoreState)return false;return true},clearState:function(){this.cmp.stateClear=true;this.cmp.on("statesave",function(){var reloadWindowFn=function(){window.location.reload()};reloadWindowFn.defer(this.clearDefer, window.location)});this.cmp.fireEvent("statechanged",this.cmp)}});Ext.preg("Ext.extension.plugin.Stateful",Ext.extension.plugin.Stateful);Ext.ns("Ext.extension.plugin");Ext.extension.plugin.RelayEvents={init:function(component){if(!component.relayedEvents)return;var events=component.relayedEvents;if(!Ext.isArray(events))events=[events];for(var i=0;i<events.length;i++){var e=events[i];if(e.target&&e.sourceEvents)e.target.relayEvents(component,e.sourceEvents);if(e.source&&e.targetEvents)component.relayEvents(e.source,e.targetEvents)}}};Ext.preg("Ext.extension.plugin.RelayEvents",Ext.extension.plugin.RelayEvents);Ext.ns("Ext.extension.tree"); Ext.extension.tree.TreePanel=Ext.extend(Ext.tree.TreePanel,{mask:true,maskConfig:{msg:"\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430..."},initComponent:function(){Ext.extension.tree.TreePanel.superclass.initComponent.call(this);if(this.mask)this.on("render",this.createMask,this)},createMask:function(){var mask=new Ext.LoadMask(this.getMaskEl(),this.maskConfig);var closeEvent=this.closeMaskEvent!=undefined?this.closeMaskEvent:"load";this.on("beforeload",mask.show,mask);this.on(closeEvent,mask.hide, mask)}});Ext.ns("Ext.extension.util.Format"); Application.components.util.Format=function(){var DEFAULTS={date:{format:"d.m.Y"},datetime:{format:"d.m.Y H:i"},number:{format:{decimalSeparator:","}},price:{format:{currencySymbol:"",decimalPrecision:2,decimalSeparator:",",groupingSeparator:" ",groupingSize:3,hideNullDecimal:false}},quantity:{format:{decimalPrecision:3,decimalSeparator:","}}},formatPrice=function(value,numberFormat){var format=Ext.apply({},numberFormat);var digit,decimal;if(value==null)return"";if(typeof value!=="number"){value= String(value);if(format.currencySymbol)value=value.replace(format.currencySymbol,"");if(format.groupingSeparator)value=value.replace(new RegExp(format.groupingSeparator,"g"),"");if(format.decimalSeparator!==".")value=value.replace(format.decimalSeparator,".");value=parseFloat(value)}var neg=value<0;value=Math.abs(value).toFixed(format.decimalPrecision);var i=value.indexOf(".");if(i>=0){if(format.decimalSeparator!=="."){digit=value.slice(0,i);decimal=value.slice(i+1);if(format.hideNullDecimal){value= digit;if(parseInt(decimal)>0)value=value+format.decimalSeparator+decimal}else value=digit+format.decimalSeparator+decimal}}else i=value.length;if(format.groupingSeparator)while(i>format.groupingSize){i-=format.groupingSize;value=value.slice(0,i)+format.groupingSeparator+value.slice(i)}if(format.currencySymbol)value=format.currencySymbol+value;if(neg)value="-"+value;return value};parseDate=function(date,formats){var d;if(Ext.isDate(date))return date;if(!formats)formats=["c","Y-m-d H:i:sp","Y-m-d H:i:s.u", "Y-m-d H:i:s.up","Y-m-d H:i:s"];if(!Ext.isArray(formats))formats=[formats];for(var i=0;i<formats.length;i++){if(formats[i].match(/p$/)){var format=formats[i].substr(0,formats[i].length-1)+"O";d=Date.parseDate(date+"00",format)}else d=Date.parseDate(date,formats[i]);if(d)return d}return null};getFormat=function(param){return DEFAULTS[param]["format"]};return{getFormatNumber:function(){return getFormat("number")},getFormatQuantity:function(){return getFormat("quantity")},getQuantityPrecision:function(){var format= getFormat("quantity");if(!format||isNaN(format.decimalPrecision))throw"Incorrect quantity format";return format.decimalPrecision},priceRenderer:function(){var format="price";return function(v){if(v!=="")return formatPrice(v,getFormat(format));else return""}},quantityRenderer:function(){var format=this.getFormatQuantity();return function(v){if(v&&v.toString)v=v.toString();if(v&&format.decimalSeparator!==".")v=v.replace(".",format.decimalSeparator);return v}},dateRenderer:function(){var format="date"; return function(v){if(Ext.isString(v))v=parseDate(v);return Ext.util.Format.date(v,getFormat(format))}}}}();Ext.onReady(function(){var callbackOnInheritedExceptionBase=function(proxy,type,action,options,response){var error="\u041d\u0435\u043e\u043f\u043e\u0437\u043d\u0430\u043d\u043d\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435, \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435\u0441\u044c \u0432 \u0442\u0435\u0445\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443";if(response&&response.result&&response.result.msg)error=response.result.msg; else if(response&&response.result&&response.result.message)error=response.result.message;else if(response&&response.message)error=response.message;this.promiseReject(error)};var initComponentParent=Ext.Window.prototype.initComponent;Ext.override(Ext.data.Store,{STORE_SAVE_FAIL:-1,loaded:false,initComponent:function(){initComponentParent.apply(this,arguments);this.on("load",function(){this.loaded=true},this,{single:true})},savePromise:function(){return new Promise(function(resolve,reject){var callBack4PromiseStoreSaveFireWrite= function(store,action,result,res){this.removeListener("exception",callbackOnInheritedException);if(res&&res.result&&res.result.success)return resolve(res);else return reject(res)};var callbackOnInheritedException=function(proxy,type,action,options,response){this.removeListener("write",callBack4PromiseStoreSaveFireWrite);this.promiseReject=reject;return callbackOnInheritedExceptionBase(proxy,type,action,options,response)};this.on("write",callBack4PromiseStoreSaveFireWrite,this,{single:true});this.on("exception", callbackOnInheritedException,this,{single:true});if(this.STORE_SAVE_FAIL===this.save()){this.removeListener("write",callBack4PromiseStoreSaveFireWrite);this.removeListener("exception",callbackOnInheritedException);return resolve()}}.createDelegate(this))},reloadPromise:function(options){options=options||{};var callback=options.callback;return new Promise(function(resolve,reject){var callBack4PromiseStoreReloadCallback=function(r,options,success){this.removeListener("exception",callbackOnInheritedExceptionBase); if(callback)callback.apply(this,arguments);if(success)return resolve(r)};options.callback=callBack4PromiseStoreReloadCallback;this.promiseReject=reject;this.on("exception",callbackOnInheritedExceptionBase,this,{single:true});if(false===this.reload(options)){this.removeListener("exception",callbackOnInheritedExceptionBase);return resolve()}}.createDelegate(this))},ensureStoreLoadedPromise:function(){if(!this.loaded)return this.reloadPromise();else return new Promise(function(resolve){resolve()})}})});Ext.onReady(function(){Ext.override(Ext.form.Field,{setRequired:function(required){var parent=this;var itemClsOld=this.itemCls;if(this.container)parent=this.container.parent();this.itemCls="";parent.removeClass("required");if(required){parent.addClass("required");this.itemCls="required"}this.allowBlank=!required;if(itemClsOld!==this.itemCls)this.fireEvent("changerequired",required,!required)}})});Ext.onReady(function(){var initComponentParent=Ext.grid.GridPanel.prototype.initComponent;var reconfigureParent=Ext.grid.GridPanel.prototype.reconfigure;var onDestroyParent=Ext.grid.GridPanel.prototype.onDestroy;var initEventsParent=Ext.grid.GridPanel.prototype.initEvents;Ext.override(Ext.grid.GridPanel,{loadMaskExtend:undefined,initComponent:function(){this.initStateful();if(this.loadMaskExtend)this.loadMask=false;if(!this.loadMask&&undefined===this.loadMaskExtend)this.loadMaskExtend=true;this.loadMaskExtend= true===this.loadMaskExtend;initComponentParent.apply(this,arguments);this.initMaskExtend()},initStateful:function(){if(this.extExtensionStateName){this.plugins=this.plugins||[];this.plugins.push(Ext.extension.plugin.Stateful)}},initMaskExtend:function(){if(this.loadMaskExtend)if(this.loadMaskExtendObject)this.loadMaskExtendObject.changeElement(this.getMaskEl());else this.loadMaskExtendObject=new Ext.extension.LoadMask(this.getMaskEl(),Ext.apply({},{store:this.store},this.loadMaskExtend))},initEvents:function(){initEventsParent.apply(this, arguments);this.initMaskExtend()},reconfigure:function(){reconfigureParent.apply(this,arguments);this.initMaskExtend()},onDestroy:function(){onDestroyParent.apply(this,arguments);if(this.rendered)Ext.destroy(this.loadMaskExtendObject);this.loadMaskExtendObject=null;this.loadMaskExtend=null}})});Ext.onReady(function(){Ext.override(Ext.grid.GridView,{fitColumns:function(preventRefresh,onlyExpand,omitColumn){var grid=this.grid,colModel=this.cm,totalColWidth=colModel.getTotalWidth(false),gridWidth=this.getGridInnerWidth(),extraWidth=gridWidth-totalColWidth,columns=[],width=0,colWidth,fraction,i;if(gridWidth<20||extraWidth===0)return false;var visibleColCount=colModel.getColumnCount(true),totalColCount=colModel.getColumnCount(false),adjCount=visibleColCount-(Ext.isNumber(omitColumn)?1:0);if(adjCount=== 0){adjCount=1;omitColumn=undefined}var columnsToDefect=[];var columnsFixed=[];if(omitColumn)columnsToDefect.push(omitColumn);for(i=0;i<totalColCount;i++){if(!colModel.isFixed(i)&&i!==omitColumn){colWidth=colModel.getColumnWidth(i);columns.push(i,colWidth);if(!colModel.isHidden(i)){width+=colWidth;columnsToDefect.push(i)}}if(colModel.isFixed(i)&&!colModel.isHidden(i))columnsFixed.push(i)}fraction=(gridWidth-colModel.getTotalWidth())/width;while(columns.length){colWidth=columns.pop();i=columns.pop(); colModel.setColumnWidth(i,Math.max(grid.minColumnWidth,Math.floor(colWidth+colWidth*fraction)),true)}totalColWidth=colModel.getTotalWidth(false);if(totalColWidth>gridWidth)for(var adjustCol=columnsToDefect.pop();adjustCol!==undefined;adjustCol=columnsToDefect.pop()){var oldWidth=colModel.getColumnWidth(adjustCol);var newWidth=oldWidth-(totalColWidth-gridWidth);if(newWidth>grid.minColumnWidth){colModel.setColumnWidth(adjustCol,newWidth,true);break}else if(oldWidth>grid.minColumnWidth){newWidth=grid.minColumnWidth; totalColWidth-=oldWidth-grid.minColumnWidth;colModel.setColumnWidth(adjustCol,newWidth,true)}}if(preventRefresh!==true)this.updateAllColumnWidths();return true}})});Ext.onReady(function(){Ext.override(Ext.grid.GridView,{layout:function(initial){if(!this.mainBody)return;var grid=this.grid,gridEl=grid.getGridEl(),gridSize=gridEl.getSize(true),gridWidth=gridSize.width,gridHeight=gridSize.height,scroller=this.scroller,scrollStyle,headerHeight,scrollHeight;if(gridWidth<20||gridHeight<20)return;if(grid.autoHeight){scrollStyle=scroller.dom.style;scrollStyle.overflow="visible";if(Ext.isWebKit)scrollStyle.position="static"}else{var itemsHeigth=0;Ext.each(grid.items.items, function(item){if(item.getOuterSize&&item.rendered)itemsHeigth+=item.getOuterSize().height});gridHeight-=itemsHeigth;this.el.setSize(gridWidth,gridHeight);headerHeight=this.mainHd.getHeight();scrollHeight=gridHeight-headerHeight;scroller.setSize(gridWidth,scrollHeight);if(this.innerHd)this.innerHd.style.width=gridWidth+"px"}if(this.forceFit||initial===true&&this.autoFill){if(this.lastViewWidth!=gridWidth){this.fitColumns(false,false);this.lastViewWidth=gridWidth}}else{this.autoExpand();this.syncHeaderScroll()}this.onLayout(gridWidth, scrollHeight)}})});Ext.define("Application.components.BankSelectPanel",{extend:"Application.components.ObjectSelectPanel",gridConfig:{columns:[{header:"\u0411\u0418\u041a",width:10,dataIndex:"bic",sortable:true},{header:"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0431\u0430\u043d\u043a\u0430",dataIndex:"namep",width:50,sortable:true}]},getValuesObj:function(n){var obj={bik:n["bik"]||n["bik"],name:n["namep"]||n["namep"]};return obj},getStore:function(){return getStore("bank_list",{storeId:"banks",directFn:RPC.Reference.list, paramsAsHash:true,autoLoad:false,idProperty:"id",root:"rows",totalProperty:"totalCount",fields:["bik","namep"],sortInfo:{field:"namep",direction:"ASC"},baseParams:{table:"Bik",idfield:"bik",namefield:"namep",extrafields:["namep"]},remoteSort:true})},getHtmlString:function(obj){return"<b>\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435:</b> "+(obj["namep"]||obj["namep"])+"<br/>"+"<b>\u0411\u0418\u041a:</b> "+(obj["bik"]||obj["bik"])},initComponent:function(){Application.components.BankSelectPanel.superclass.initComponent.call(this)}});Ext.define("Application.components.ContractPriceAfterNegotinationPanel",{extend:"Ext.panel.Panel",value:null,contractInfo:null,editable:false,msgText:"\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u0446\u0435\u043d\u0443",initComponent:function(){var component=this;component.addEvents("showEdit","updateValue");Ext.apply(component,{layout:"column",layoutConfig:{defaultMargins:{top:0,right:10,bottom:0,left:0}},items:[{xtype:"Application.components.priceField",ref:"valueCmp",hidden:false,disabled:!component.editable, text:"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c",value:component.value,handler:function(){component.fireEvent("showEdit")}},{html:" "},{xtype:"button",ref:"buttonCmp",hidden:!component.editable,text:"\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c",handler:function(){component.fireEvent("updateValue",component.valueCmp.getValue())}}],listeners:{updateValue:function(newValue){performRPCCall(RPC.Contract.assignContractPriceAfterNegotination,[{contractInfo:component.contractInfo,value:newValue}], [],function(resp){echoResponseMessage(resp);if(!!resp.success){component.value=newValue;component.fireEvent("render");component.doLayout()}})},render:function(){}}});Application.components.ContractPriceAfterNegotinationPanel.superclass.initComponent.call(this)}});Ext.define("Application.components.ContragentSelectPanel",{extend:"Application.components.ObjectSelectPanel",showSuppliers:true,showCustomers:false,showWithoutAccred:false,defaultValue:null,itemConfig:{id:"id",inn:"inn",kpp:"kpp",full_name:"full_name"},gridConfig:{columns:[{header:"#",width:10,dataIndex:"id",sortable:true},{header:"\u0418\u041d\u041d",dataIndex:"inn",width:50,sortable:true},{header:"\u041a\u041f\u041f",dataIndex:"kpp",width:50,sortable:true},{header:"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435", dataIndex:"full_name",width:100,sortable:true}]},getValuesObj:function(n){var obj={id:n.id,full_name:n["full_name"]||null,inn:n["inn"]||null,kpp:n["kpp"]||null};return obj},getContragnetTypes:function(){if(this.showSuppliers&&this.showCustomers)return"all";if(this.showCustomers&&!this.showSuppliers){if(this.showWithoutAccred)return"customer_all";return"customer"}if(!this.showCustomers&&this.showSuppliers){if(this.showWithoutAccred)return"supplier_all";return"supplier"}return false},getStore:function(){var type= this.getContragnetTypes();return createCompanyStore(type)},getHtmlString:function(obj){return"<b>\u0418\u041d\u041d/\u041a\u041f\u041f:</b> "+obj["inn"]+"/"+obj["kpp"]+"<br/>"+"<b>\u041f\u043e\u043b\u043d\u043e\u0435 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435:</b> "+obj["full_name"]},initComponent:function(){Application.components.ContragentSelectPanel.superclass.initComponent.call(this);if(this.defaultValue)this.setValues(this.defaultValue)}});Ext.ns("Ext.ux.form"); Ext.define("Ext.ux.form.DateInterval",{extend:"Ext.form.CompositeField",label_from:"\u0441:",label_till:"\u043f\u043e:",format:"d.m.Y",cmp_id:"interval",msgTarget:"side",defaults:{flex:1},initComponent:function(){var component=this;this.items=[{xtype:"displayfield",width:30,value:this.label_from},{xtype:"datefield",format:this.format,ref:"from",name:this.cmp_id+"_from",id:this.cmp_id+"_from_id",listeners:{select:function(element,value){Ext.getCmp(component.cmp_id+"_till_id").setMinValue(value);component.fireEvent("select", value)}}},{xtype:"displayfield",width:30,style:{textAlign:"right"},value:this.label_till},{xtype:"datefield",format:this.format,ref:"till",name:this.cmp_id+"_till",id:this.cmp_id+"_till_id",listeners:{select:function(element,value){Ext.getCmp(component.cmp_id+"_from_id").setMaxValue(value);component.fireEvent("select",value)}}}];this.getValue=function(){var date_array={date_from:Ext.getCmp(this.cmp_id+"_from_id").getValue(),date_till:Ext.getCmp(this.cmp_id+"_till_id").getValue(),id:this.db_id,number:this.number}; if(date_array.date_from==""||date_array.date_till=="")return null;return date_array};this.setValue=function(date_from,date_till,db_id){Ext.getCmp(this.cmp_id+"_from_id").setValue(new Date(date_from));Ext.getCmp(this.cmp_id+"_till_id").setValue(new Date(date_till));this.db_id=db_id};Ext.ux.form.DateInterval.superclass.initComponent.call(this)}});Ext.reg("dateinterval",Ext.ux.form.DateInterval);Ext.form.DateInterval=Ext.ux.form.DateInterval;Ext.ns("Ext.ux.form"); Ext.define("Ext.ux.form.DateIntervalVeb",{extend:"Ext.form.CompositeField",label_from:"\u0441:",label_from_text:"\u0441:",label_till:"\u043f\u043e:",label_till_text:"\u043f\u043e:",format:"d.m.Y",cmp_id:"interval",msgTarget:"side",is_text:false,defaults:{flex:1},initComponent:function(){var component=this;this.items=[{xtype:"displayfield",width:30,value:this.label_from,hidden:component.is_text},{xtype:"datefield",format:this.format,ref:"from",name:this.cmp_id+"_from",id:this.cmp_id+"_from_id",listeners:{select:function(element, value){Ext.getCmp(component.cmp_id+"_till_id").setMinValue(value);component.fireEvent("select",value)}},hidden:component.is_text},{xtype:"displayfield",width:30,style:{textAlign:"right"},value:this.label_till,hidden:component.is_text},{xtype:"datefield",format:this.format,ref:"till",name:this.cmp_id+"_till",id:this.cmp_id+"_till_id",listeners:{select:function(element,value){Ext.getCmp(component.cmp_id+"_from_id").setMaxValue(value);component.fireEvent("select",value)}},hidden:component.is_text},{xtype:"displayfield", width:30,style:{textAlign:"right"},value:this.label_from_text,hidden:!component.is_text},{xtype:"textarea",ref:"from_text",name:this.cmp_id+"_from_text",id:this.cmp_id+"_from_text_id",style:"height:30px",hidden:!component.is_text},{xtype:"displayfield",width:30,style:{textAlign:"right"},value:this.label_till_text,hidden:!component.is_text},{xtype:"textarea",ref:"till_text",name:this.cmp_id+"_till_text",id:this.cmp_id+"_till_text_id",style:"height:30px",hidden:!component.is_text}];this.getValue=function(){var date_array= {date_from:Ext.getCmp(this.cmp_id+"_from_id").getValue(),date_till:Ext.getCmp(this.cmp_id+"_till_id").getValue(),date_from_text:Ext.getCmp(this.cmp_id+"_from_text_id").getValue(),date_till_text:Ext.getCmp(this.cmp_id+"_till_text_id").getValue(),id:this.db_id,number:this.number};return date_array};this.setValue=function(date_from,date_till,date_from_text,date_till_text,db_id){Ext.getCmp(this.cmp_id+"_from_id").setValue(date_from);Ext.getCmp(this.cmp_id+"_till_id").setValue(date_till);Ext.getCmp(this.cmp_id+ "_from_text_id").setValue(date_from_text);Ext.getCmp(this.cmp_id+"_till_text_id").setValue(date_till_text);this.db_id=db_id};Ext.ux.form.DateIntervalVeb.superclass.initComponent.call(this)}});Ext.reg("dateintervalveb",Ext.ux.form.DateIntervalVeb);Ext.form.DateIntervalVeb=Ext.ux.form.DateIntervalVeb;Ext.define("Application.components.HistoryPanel",{extend:"Ext.grid.GridPanel",frame:true,initComponent:function(){var component=this;var procedure_id=component.procedure_id;var store=getProcedureHistoryStore(procedure_id);Ext.apply(this,{border:false,frame:true,store:store,defaults:{sortable:true},columns:[{header:"\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c",sortable:true,width:150,renderer:function(v,m,r){return r["data"]["user"]["username"]+" ("+r["data"]["user"]["last_name"]+ " "+r["data"]["user"]["first_name"]+" "+r["data"]["user"]["middle_name"]+")"}},{header:"\u0414\u0430\u0442\u0430 \u0432\u043d\u0435\u0441\u0435\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439",width:150,sortable:true,renderer:Ext.util.Format.dateRenderer("d.m.Y H:i"),dataIndex:"date"},{header:"\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430",width:380,dataIndex:"field"},{header:"\u041d\u043e\u043c\u0435\u0440 \u043b\u043e\u0442\u0430", width:100,dataIndex:"lot_id"},{header:"\u0421\u0442\u0430\u0440\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435",dataIndex:"from",renderer:function(v,m,r){if(!Main.config.show_gmt)if(r["data"]["field"]=="\u0414\u0430\u0442\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438"||r["data"]["field"]=="\u0414\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043c\u044f \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u043f\u043e\u0434\u0430\u0447\u0438 \u0437\u0430\u044f\u0432\u043e\u043a \u043d\u0430 \u0443\u0447\u0430\u0441\u0442\u0438\u0435")if(r["data"]["from"]!= "\u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e")v=Ext.util.Format.substr(v,0,19);return v},width:200},{header:"\u041d\u043e\u0432\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435",dataIndex:"to",renderer:function(v,m,r){if(!Main.config.show_gmt)if(r["data"]["field"]=="\u0414\u0430\u0442\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438"||r["data"]["field"]=="\u0414\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043c\u044f \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u043f\u043e\u0434\u0430\u0447\u0438 \u0437\u0430\u044f\u0432\u043e\u043a \u043d\u0430 \u0443\u0447\u0430\u0441\u0442\u0438\u0435")if(r["data"]["date"]!= "\u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e")v=Ext.util.Format.substr(v,0,19);return v},width:200}],viewConfig:{forceFit:true},buttons:[{text:"\u041d\u0430\u0437\u0430\u0434",handler:function(){history.back(1)}}]});Application.components.HistoryPanel.superclass.initComponent.call(this)}});Ext.define("Application.components.InformationFieldset",{extend:"Ext.form.FieldSet",cls:"spaced-panel",frame:false,border:true,text:"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435",padding:30,align:"center",getPanel:function(){var me=this;return{xtype:"panel",style:"text-align: "+me.align,html:me.text}},initComponent:function(){var me=this;Ext.apply(me,{items:[me.getPanel()]});Application.components.InformationFieldset.superclass.initComponent.call(this)}, setValue:function(text){this.items.get(0).html=text;this.items.get(0).doLayout()}});Ext.ns("Application.components"); Application.components.InsideTriggerField=Ext.extend(Ext.form.TextField,{defaultAutoCreate:{tag:"input",type:"text",size:"16",autocomplete:"off"},hideTrigger:false,editable:true,readOnly:false,wrapFocusClass:"x-trigger-wrap-focus",autoSize:Ext.emptyFn,monitorTab:true,deferHeight:true,mimicing:false,actionMode:"wrap",defaultTriggerWidth:17,onResize:function(w,h){Ext.form.TriggerField.superclass.onResize.call(this,w,h);var tw=this.getTriggerWidth();if(Ext.isNumber(w))this.el.setWidth(w);this.wrap.setWidth(this.el.getWidth()+ tw)},getTriggerWidth:function(){var tw=this.trigger.getWidth();if(!this.hideTrigger&&!this.readOnly&&tw===0)tw=this.defaultTriggerWidth;return tw},alignErrorIcon:function(){if(this.wrap)this.errorIcon.alignTo(this.wrap,"tl-tr",[2,0])},onRender:function(ct,position){this.doc=Ext.isIE?Ext.getBody():Ext.getDoc();Ext.form.TriggerField.superclass.onRender.call(this,ct,position);this.wrap=this.el.wrap({cls:"x-form-field-wrap x-form-field-trigger-wrap"});this.trigger=this.wrap.createChild(this.triggerConfig|| {tag:"div",src:Ext.BLANK_IMAGE_URL,alt:"",cls:"x-form-trigger x-form-inside-trigger "+this.triggerClass});this.initTrigger();if(!this.width)this.wrap.setWidth(this.el.getWidth());this.resizeEl=this.positionEl=this.wrap},getWidth:function(){return this.el.getWidth()+this.trigger.getWidth()},updateEditState:function(){if(this.rendered){if(this.readOnly){this.el.dom.readOnly=true;this.el.addClass("x-trigger-noedit");this.mun(this.el,"click",this.onTriggerClick,this);this.trigger.setDisplayed(false)}else{if(!this.editable){this.el.dom.readOnly= true;this.el.addClass("x-trigger-noedit");this.mon(this.el,"click",this.onTriggerClick,this)}else{this.el.dom.readOnly=false;this.el.removeClass("x-trigger-noedit");this.mun(this.el,"click",this.onTriggerClick,this)}this.trigger.setDisplayed(!this.hideTrigger)}this.onResize(this.width||this.wrap.getWidth())}},setHideTrigger:function(hideTrigger){if(hideTrigger!=this.hideTrigger){this.hideTrigger=hideTrigger;this.updateEditState()}},setEditable:function(editable){if(editable!=this.editable){this.editable= editable;this.updateEditState()}},setReadOnly:function(readOnly){if(readOnly!=this.readOnly){this.readOnly=readOnly;this.updateEditState()}},afterRender:function(){Ext.form.TriggerField.superclass.afterRender.call(this);this.updateEditState()},initTrigger:function(){this.mon(this.trigger,"click",this.onTriggerClick,this,{preventDefault:true});this.trigger.addClassOnOver("x-form-trigger-over");this.trigger.addClassOnClick("x-form-trigger-click")},onDestroy:function(){Ext.destroy(this.trigger,this.wrap); if(this.mimicing)this.doc.un("mousedown",this.mimicBlur,this);delete this.doc;Ext.form.TriggerField.superclass.onDestroy.call(this)},onFocus:function(){Ext.form.TriggerField.superclass.onFocus.call(this);if(!this.mimicing){this.wrap.addClass(this.wrapFocusClass);this.mimicing=true;this.doc.on("mousedown",this.mimicBlur,this,{delay:10});if(this.monitorTab)this.on("specialkey",this.checkTab,this)}},checkTab:function(me,e){if(e.getKey()==e.TAB)this.triggerBlur()},onBlur:Ext.emptyFn,mimicBlur:function(e){if(!this.isDestroyed&& !this.wrap.contains(e.target)&&this.validateBlur(e))this.triggerBlur()},triggerBlur:function(){this.mimicing=false;this.doc.un("mousedown",this.mimicBlur,this);if(this.monitorTab&&this.el)this.un("specialkey",this.checkTab,this);Ext.form.TriggerField.superclass.onBlur.call(this);if(this.wrap)this.wrap.removeClass(this.wrapFocusClass)},beforeBlur:Ext.emptyFn,validateBlur:function(e){return true},onTriggerClick:Ext.emptyFn});Ext.define("Application.components.keyValue2Panel",{extend:"Ext.form.FieldSet",cls:"keyvalue-panel-table",values:{},fields:{},fieldsShowAlways:[],fieldsHidden:[],templates:{},noValueText:"\u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e",captionCls:"th",onAfterrender:function(){var me=this;if(!isEmpty(me.values))me.setValues(me.values)},initComponent:function(){var me=this;this.addEvents("dataload");Ext.apply(me,{listeners:{afterrender:me.onAfterrender,expand:me.onAfterrender}});Application.components.keyValue2Panel.superclass.initComponent.call(this)}, clearItems:function(){this.removeAll(true)},renderValue:function(name,value){var me=this;if(Ext.type(value)==="number")value=value+"";if(!me.templates[name])return value;if(Ext.isFunction(me.templates[name]))return me.templates[name].call(this,value);if(Ext.isString(me.templates[name])){var tpl=new Ext.XTemplate(me.templates[name]);return tpl.apply(me.values)}if(Ext.isObject(me.templates[name])&&!!me.templates[name].apply)return me.templates[name].apply(me.values);if(isEmpty(value))value=me.noValueText; return value},getKeyName:function(key){return"item-"+this.id+"-"+key},createFieldElement:function(name,title,value){var me=this;var valuePanel=Ext.isObject(value)?value:{html:me.renderValue(name,value)};return{xtype:"panel",layout:"table",key:me.getKeyName(name),cls:"spaced-bottom-shallow",defaultType:"label",layoutConfig:{columns:2},items:[{cellCls:this.captionCls,html:title},valuePanel]}},doFields:function(){var me=this;Ext.iterate(me.fields,function(fieldName,fieldTitle){if(isEmpty(me.values[fieldName])&& !in_array(fieldName,me.fieldsShowAlways))return;if(in_array(fieldName,me.fieldsHidden))return;me.add(me.createFieldElement(fieldName,fieldTitle,me.values[fieldName]))})},getItems:function(){return this.items.items},setValues:function(values){var me=this;me.values=values;if(!me.rendered)return;me.clearItems();me.doFields();me.doLayout()},hideKey:function(key,forced){var me=this;var keyFullName=me.getKeyName(key);Ext.iterate(me.getItems(),function(item){if(item.key===keyFullName)if(!!forced||!in_array(key, me.fieldsShowAlways))item.hide()});me.fieldsHidden.push(key)},hideKeyForced:function(key){return this.hideKey(key,true)},loadData:function(values){this.fireEvent("dataload",values);return this.setValues(values)},getRawValues:function(){return this.values}});Ext.define("Application.components.ListCompositeField",{extend:"Ext.Container",autocompleteXType:null,autocompleteFieldConfig:{},treeType:null,treeTitle:null,initComponent:function(){var me=this;me.addEvents(["select","change"]);var autocompleteField=Ext.apply({xtype:me.autocompleteXType,ref:"input",storeDisplayField:"display",hideLabel:me.hideLabel,allowBlank:me.allowBlank,flex:1,listeners:{select:function(combo,record,index){me.fireEvent("select",record.get("code"),record.data,me)},change:function(combo, newValue,oldValue){me.fireEvent("change",newValue,me)}}},me.autocompleteFieldConfig);Ext.apply(this,{layout:"hbox",layoutConfig:{defaultMargins:{top:0,right:1,bottom:0,left:0}},align:"stretch",items:[autocompleteField,{xtype:"button",text:"",tooltip:"\u0412\u044b\u0431\u0440\u0430\u0442\u044c...",icon:"/images/icons/silk/zoom.png",handler:function(){var winTree=new Application.components.treeWindow({width:700,height:400,autoSize:true,loaderConfig:{type:me.treeType,rootName:"0",directFn:null,directSearchFn:null, textFormat:"{0} {1}",search:true},title:me.treeTitle,type:me.treeType,keyName:"code",listeners:{scope:this,itemselected:function(item){var code=item.code||"";me.input.loadRecord("code",code);me.fireEvent("select",code,item.attributes||{},me);me.fireEvent("change",code,me)}}});winTree.show()}}]});Application.components.ListCompositeField.superclass.initComponent.call(this)},setValue:function(value){if(!isEmpty(this.input))this.input.setValue(value)},getValue:function(value){return this.input.getValue()}, validate:function(){return this.input.validate()}});Ext.define("Application.components.LoadingFieldset",{extend:"Application.components.InformationFieldset",text:"\u0418\u0434\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445...",initComponent:function(){Application.components.LoadingFieldset.superclass.initComponent.call(this)}});Ext.define("Application.components.MyNotificationsGrid",{extend:"Ext.grid.Panel",frame:true,border:false,initComponent:function(){var component=this;var store=new Ext.data.GroupingStore({proxy:new Ext.data.DirectProxy({paramsAsHash:true,directFn:RPC.Notification.userList}),reader:new Ext.data.JsonReader({root:"entries",idProperty:"uuid",totalProperty:"totalCount",fields:["uuid","title","message","priority_text","status",{name:"date_start",type:"date",dateFormat:"c"},{name:"date_end",type:"date",dateFormat:"c"}, "accept_message","buttons","decline_message","handler","handler_action","handler_controller","is_internal","position","require_eds"]}),sortInfo:{field:"status",direction:"DESC"},autoLoad:true,groupOnSort:false,remoteGroup:false,groupField:"status",groupDir:"DESC",baseParams:{type:false,limit:"50"},remoteSort:false});var actualRenderer=function(v){return v?"\u0410\u043a\u0442\u0438\u0432\u043d\u043e":"\u041d\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u043e"};Ext.apply(component,{store:store,view:new Ext.grid.GroupingView({forceFit:true, autoFill:true,enableGrouping:true}),columns:[{header:"\u0421\u0442\u0430\u0442\u0443\u0441",dataIndex:"status",width:100,hidden:true,groupRenderer:function(v){return v?"\u0410\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435":"\u0410\u0440\u0445\u0438\u0432"}},{header:"\u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442",dataIndex:"priority_text",width:70,sortable:true},{header:"\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a",dataIndex:"title",width:100,sortable:true},{header:"\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435", dataIndex:"message",width:200,sortable:true},{header:"\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u0438",xtype:"textactioncolumn",actionsSeparator:" ",width:30,items:[{tooltip:"\u041e\u0442\u043a\u0440\u044b\u0442\u044c",icon:"/ico/about.png",text:"",isHidden:function(v,meta,rec){return rec.data["status"]==0},handler:function(grid,rowIndex){var item=grid.getStore().getAt(rowIndex);if(item){cmpWindow=new Application.components.decisionsDialog({title:"\u0412\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435", notification:item.data,closable:true,listeners:{close:function(){grid.getStore().reload()}}});cmpWindow.show()}}}]}],viewConfig:{forceFit:true},bbar:new Ext.PagingToolbar({pageSize:50,store:store,displayInfo:true,displayMsg:"\u0423\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f {0} - {1} \u0438\u0437 {2}",emptyMsg:"\u0421\u043f\u0438\u0441\u043e\u043a \u043f\u0443\u0441\u0442"}),loadMask:true,sm:new Ext.grid.RowSelectionModel({singleSelect:true}),listeners:{search:function(query,search_params){var store= this.getStore();store.baseParams={};store.setBaseParam("start",0);store.setBaseParam("limit",50);if(query)if(Ext.isString(query))store.setBaseParam("query",query);if(search_params)for(var sp in search_params){if(!search_params.hasOwnProperty(sp))continue;store.setBaseParam(sp,search_params[sp])}component.el.mask("\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430...","x-mask-loading");store.load({callback:function(){component.el.unmask()}})}}});Application.components.NotificationGrid.superclass.initComponent.call(this)}});Ext.define("Application.components.ObjectSelectPanel",{extend:"Ext.form.FieldSet",border:true,name:"type",keyName:"type_id",addText:"\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435",addButtonText:"\u0412\u044b\u0431\u0440\u0430\u0442\u044c...",emptyText:"\u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043e",maxItems:1,additionalButtons:[],itemConfig:{},gridConfig:{},emptyTextShow:function(){var cmp_cc=Ext.getCmp(this.cc_current);var cmp_te=Ext.getCmp(this.text_empty);if(this.emptyText!== false&&cmp_cc.items.length==1)cmp_te.setVisible(true);else cmp_te.setVisible(false)},setValues:function(val){var component=this;if(!isEmpty(val)){component.addCategory(val);component.emptyTextShow();component.checkMaxItems();component.doLayout()}},getStore:function(){},addHandler:function(){this.gridConfig["store"]=this.getStore();var window=new Application.components.GridSelectWindow({grid_id:this.name,gridConfig:this.gridConfig||{},listeners:{scope:this,itemselected:function(n){var component=this; Ext.each(n,function(item){component.addCategory(item["data"]);component.emptyTextShow();component.checkMaxItems()});component.doLayout()}}});window.show()},checkMaxItems:function(){var btn=Ext.getCmp(this.add_btn_id);var cmp_cc=Ext.getCmp(this.cc_current);if(this.maxItems!=0&&cmp_cc.items.length-1>=this.maxItems)btn.setVisible(false);else{btn.setVisible(true);this.doLayout()}},addCategory:function(n){var component=this;var panel={id:Ext.id(),layout:"column",style:"margin-left: 0",bodyCssClass:"subpanel", border:true,items:[{columnWidth:1,xtype:"panel",layout:"form",border:false,hideTitle:true,html:this.getHtmlString(n)},{xtype:"button",text:"\u0423\u0434\u0430\u043b\u0438\u0442\u044c",hidden:!!component.readOnly,scope:this,handler:function(button){var p=button.findParentByType("panel");var cur_cat=p.getValue();if(Main.config.tree_selector_no_remove_message){p.destroy();this.emptyTextShow();this.checkMaxItems()}else{p.destroy();this.emptyTextShow();this.checkMaxItems()}}}],name:this.name+(component.maxItems> 1?"[]":""),getValue:function(){return component.getValuesObj(n)}.createDelegate(this)};var cc_panel=Ext.getCmp(this.cc_current);cc_panel.add(panel)},initComponent:function(){this.tree_id=Ext.id();this.cc_current=Ext.id();this.text_empty=Ext.id();this.add_btn_id=Ext.id();var title=this.title;this.title=null;var addButton={xtype:"button",text:this.addButtonText,hidden:!!this.readOnly,scope:this,handler:this.addHandler};Ext.apply(this,{layout:"form",anchor:"100%",defaults:{anchor:"100%",allowBlank:false}, border:true,autoHeight:true,labelWidth:200,items:[{xtype:"panel",border:false,id:this.cc_current,items:[{xtype:"container",layout:"column",fieldLabel:title,id:this.add_btn_id,items:[{id:this.text_empty,columnWidth:1,layout:"anchor",padding:"5px 0",hidden:true,html:this.emptyText},addButton,this.additionalButtons]}],listeners:{scope:this,afterrender:function(){this.emptyTextShow();this.doLayout()}}}]});Application.components.ObjectSelectPanel.superclass.initComponent.call(this)}});Ext.define("Application.components.OosProtocolPublicationFieldset",{extend:"Ext.form.FieldSet",xtype:"fieldset",title:"\u041f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 \u0432 \u0415\u0418\u0421 (zakupki.gov.ru)",cls:"spaced-fieldset",labelWidth:270,defaults:{bodyStyle:"padding: 0px"},oos_type_store:null,defaultState:true,updateEnabled:function(){var me=this;var isEnabled=!me.checkboxCmp.getValue()||me.disabled;me.oosTypeCmp.setDisabled(isEnabled); me.placeHappenedCmp.setDisabled(isEnabled);me.dateHappenedCmp.setDisabled(isEnabled);me.dateProtocolSignedCmp.setDisabled(isEnabled);me.hiddenCheckCmp.value=isEnabled?"on":null;me.hiddenCheckCmp.setDisabled(!isEnabled)},onSetOosTypesStore:function(data){var oos_type_store=new Ext.data.DirectStore({autoDestroy:true,autoLoad:false,root:"rows",idProperty:"code",fields:["code","name"]});oos_type_store.loadData({rows:data});this.oosTypeCmp.bindStore(oos_type_store)},initComponent:function(){var me=this; me.addEvents("setOosTypesStore","updateEnabled");var component=this;Ext.apply(component,{items:[{xtype:"hidden",ref:"hiddenCheckCmp",name:"oos_exchange_cancelled",value:null},{xtype:"checkbox",name:"oos_exchange_enabled",value:true,ref:"checkboxCmp",checked:component.defaultState,fieldLabel:"\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0432 \u0415\u0418\u0421",listeners:{check:function(cb,v){component.fireEvent("updateEnabled")},change:function(cb, v){component.fireEvent("updateEnabled")}}},{xtype:"Application.components.combo",name:"oos_type_id",fieldLabel:"\u0422\u0438\u043f \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 \u043f\u043e \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0443 \u0415\u0418\u0421"+REQUIRED_FIELD,anchor:"100%",valueField:"code",displayField:"name",hiddenName:"oos_type_id",ref:"oosTypeCmp",emptyText:"\u0414\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 \u043d\u0430 \u0415\u0418\u0421 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0442\u0438\u043f \u043f\u043e \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0443 \u0415\u0418\u0421", triggerAction:"all",allowBlank:false,mode:"local",forceSelection:true,editable:false,store:component.oos_type_store},{xtype:"textfield",name:"place_happened",ref:"placeHappenedCmp",anchor:"100%",allowBlank:false,width:250,fieldLabel:"\u041c\u0435\u0441\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u044d\u0442\u0430\u043f\u0430 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b"+REQUIRED_FIELD},{xtype:"Application.components.datetimeField",name:"date_happened",ref:"dateHappenedCmp", allowBlank:false,fieldLabel:"\u0414\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u044d\u0442\u0430\u043f\u0430 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b"+REQUIRED_FIELD,format:"d.m.Y H:i",altFormats:"c|d.m.Y H:i:s|d.m.Y H:i",listeners:{select:function(cmp,val){component.dateProtocolSignedCmp.setMinValue(val)}}},{xtype:"datefield",name:"date_protocol_signed",ref:"dateProtocolSignedCmp",allowBlank:false,width:120, fieldLabel:"\u0414\u0430\u0442\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430"+REQUIRED_FIELD,format:"d.m.Y",altFormats:"c|d.m.Y H:i:s|d.m.Y H:i"}],listeners:{updateEnabled:component.updateEnabled,afterRender:component.updateEnabled,enable:component.updateEnabled,disable:component.updateEnabled,setOosTypesStore:component.onSetOosTypesStore}});Application.components.OosProtocolPublicationFieldset.superclass.initComponent.call(this)}, setValues:function(data){data.oos_exchange_enabled=data.oos_exchange_cancelled||true;setComponentValues(this,data)},getValues:function(){var vals={};collectComponentValues(this,vals);vals.oos_exchange_cancelled=!vals.oos_exchange_enabled;return vals},isValid:function(){var isValid=true;var values=this.getValues();if(!values.oos_exchange_enabled)return true;Ext.iterate(values,function(name,val){if(val==="")isValid=false});return isValid}});Ext.ns("Application.components"); Application.components.PasswordField=Ext.extend(Application.components.InsideTriggerField,{showPasswordTitle:"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c",hidePasswordTitle:"\u0421\u043a\u0440\u044b\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c",triggerClass:"x-form-eye-trigger",unTriggerClass:"x-form-eye-slash-trigger",onRender:function(ct,position){Application.components.PasswordField.superclass.onRender.call(this,ct,position);this.trigger.dom.title= this.showPasswordTitle},onTriggerClick:function(){if(this.getEl().dom.type=="text"){this.getEl().dom.type="password";this.trigger.removeClass(this.unTriggerClass);this.trigger.addClass(this.triggerClass);this.trigger.dom.title=this.showPasswordTitle}else{this.getEl().dom.type="text";this.trigger.addClass(this.unTriggerClass);this.trigger.removeClass(this.triggerClass);this.trigger.dom.title=this.hidePasswordTitle}}});Ext.define("Application.components.ProcedureSelectPanel",{extend:"Application.components.ObjectSelectPanel",gridConfig:{columns:[{header:"#",width:10,dataIndex:"id",sortable:true},{header:"\u0420\u0435\u0435\u0441\u0442\u0440\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440",dataIndex:"registry_number",width:50,sortable:true},{header:"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b",dataIndex:"title",width:100,sortable:true},{header:"\u041d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0446\u0435\u043d\u0430", width:70,dataIndex:"start_price",renderer:function(value,metaData,record){if(record["data"]&&record["data"]["lots"]&&record["data"]["lots"][0])return Ext.util.Format.formatPrice(record["data"]["lots"][0]["start_price"])||"-";return"-"}}]},getValuesObj:function(n){var obj={id:n.id,registry_number:n["registry_number"]||null,start_price:n["start_price"]||null};return obj},getStore:function(){return new Application.models.Procedure.getProcedureStore},getHtmlString:function(obj){return"<b>\u0420\u0435\u0435\u0441\u0442\u0440\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440:</b> "+ obj["registry_number"]+"<br/>"+"<b>\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435:</b> "+obj["title"]},initComponent:function(){Application.components.ProcedureSelectPanel.superclass.initComponent.call(this)}});Ext.define("Application.components.PromptFormWindow",{extend:"Ext.Window",width:600,height:300,labelWidth:200,modal:true,border:true,layout:"fit",frame:true,label:"\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u0443 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u044f:",buttonOkTitle:"\u041e\u0442\u043a\u043b\u043e\u043d\u0438\u0442\u044c",buttonCancelTitle:"\u041e\u0442\u043c\u0435\u043d\u0430",getValues:function(){return this.formCmp.getForm().getValues()}, initComponent:function(){var me=this;me.addEvents("submitform","cancelform");Ext.apply(me,{items:[{xtype:"form",monitorValid:true,frame:true,ref:"formCmp",layout:"fit",items:[{xtype:"fieldset",title:me.label,layout:"fit",items:[{xtype:"textarea",hideLabel:true,allowBlank:false,name:"text",anchor:"100"}]}],buttons:[{text:me.buttonOkTitle,formBind:true,handler:function(){me.fireEvent("submitform",me,me.getValues())}},{text:me.buttonCancelTitle,handler:function(){me.fireEvent("cancelform",me,me.getValues())}}]}]}); Application.components.PromptFormWindow.superclass.initComponent.call(this)}});Ext.define("Application.components.StoreTextList",{extend:"Ext.Container",emptyText:null,store:null,layout:"form",renderer:function(){},initComponent:function(){var me=this;me.addEvents("update");Ext.apply(me,{listeners:{afterrender:function(){me.fireEvent("update")},update:function(){me.resetItems();if(me.getStore()&&me.getStore().getCount()>0)me.getStore().each(function(record){me.add({html:me.renderer(record)})});else me.add({html:me.emptyText});me.doLayout()}}});Application.components.StoreTextList.superclass.initComponent.call(this)}, resetItems:function(){var me=this;if(!!me.items)me.items.each(function(item){item.destroy()})},getStore:function(){return this.store},setStore:function(store){this.store=store;this.fireEvent("update")}});/* TBA (To be announced) */ Ext.namespace("Ext.ux.form");Ext.ux.form.SuperBoxSelect=function(config){Ext.ux.form.SuperBoxSelect.superclass.constructor.call(this,config);this.addEvents("beforeadditem","additem","newitem","beforeremoveitem","removeitem","clear")}; Ext.ux.form.SuperBoxSelect=Ext.extend(Ext.ux.form.SuperBoxSelect,Ext.form.ComboBox,{addNewDataOnBlur:false,allowAddNewData:false,allowQueryAll:true,backspaceDeletesLastItem:true,classField:null,clearBtnCls:"",clearLastQueryOnEscape:false,clearOnEscape:false,displayFieldTpl:null,extraItemCls:"",extraItemStyle:"",expandBtnCls:"",fixFocusOnTabSelect:true,forceFormValue:true,forceSameValueQuery:false,itemDelimiterKey:Ext.EventObject.ENTER,navigateItemsWithTab:true,pinList:true,preventDuplicates:true, queryFilterRe:"",queryValuesDelimiter:"|",queryValuesIndicator:"valuesqry",removeValuesFromStore:true,renderFieldBtns:true,stackItems:false,styleField:null,supressClearValueRemoveEvents:false,validationEvent:"blur",valueDelimiter:",",initComponent:function(){Ext.apply(this,{items:new Ext.util.MixedCollection(false),usedRecords:new Ext.util.MixedCollection(false),addedRecords:[],remoteLookup:[],hideTrigger:true,grow:false,resizable:false,multiSelectMode:false,preRenderValue:null,filteredQueryData:""}); if(this.queryFilterRe)if(Ext.isString(this.queryFilterRe))this.queryFilterRe=new RegExp(this.queryFilterRe);if(this.transform)this.doTransform();if(this.forceFormValue)this.items.on({add:this.manageNameAttribute,remove:this.manageNameAttribute,clear:this.manageNameAttribute,scope:this});Ext.ux.form.SuperBoxSelect.superclass.initComponent.call(this);if(this.mode==="remote"&&this.store)this.store.on("load",this.onStoreLoad,this)},onRender:function(ct,position){var h=this.hiddenName;this.hiddenName= null;Ext.ux.form.SuperBoxSelect.superclass.onRender.call(this,ct,position);this.hiddenName=h;this.manageNameAttribute();var extraClass=this.stackItems===true?"x-superboxselect-stacked":"";if(this.renderFieldBtns)extraClass+=" x-superboxselect-display-btns";this.el.removeClass("x-form-text").addClass("x-superboxselect-input-field");this.wrapEl=this.el.wrap({tag:"ul"});this.outerWrapEl=this.wrapEl.wrap({tag:"div",cls:"x-form-text x-superboxselect "+extraClass});this.inputEl=this.el.wrap({tag:"li",cls:"x-superboxselect-input"}); if(this.renderFieldBtns)this.setupFieldButtons().manageClearBtn();this.setupFormInterception()},doTransform:function(){var s=Ext.getDom(this.transform),transformValues=[];if(!this.store){this.mode="local";var d=[],opts=s.options;for(var i=0,len=opts.length;i<len;i++){var o=opts[i],oe=Ext.get(o),value=oe.getAttributeNS(null,"value")||"",cls=oe.getAttributeNS(null,"className")||"",style=oe.getAttributeNS(null,"style")||"";if(o.selected)transformValues.push(value);d.push([value,o.text,cls,typeof style=== "string"?style:style.cssText])}this.store=new Ext.data.SimpleStore({"id":0,fields:["value","text","cls","style"],data:d});Ext.apply(this,{valueField:"value",displayField:"text",classField:"cls",styleField:"style"})}if(transformValues.length)this.value=transformValues.join(",")},setupFieldButtons:function(){this.buttonWrap=this.outerWrapEl.createChild({cls:"x-superboxselect-btns"});this.buttonClear=this.buttonWrap.createChild({tag:"div",cls:"x-superboxselect-btn-clear "+this.clearBtnCls});if(this.allowQueryAll)this.buttonExpand= this.buttonWrap.createChild({tag:"div",cls:"x-superboxselect-btn-expand "+this.expandBtnCls});this.initButtonEvents();return this},initButtonEvents:function(){this.buttonClear.addClassOnOver("x-superboxselect-btn-over").on("click",function(e){e.stopEvent();if(this.disabled)return;this.clearValue();this.el.focus()},this);if(this.allowQueryAll)this.buttonExpand.addClassOnOver("x-superboxselect-btn-over").on("click",function(e){e.stopEvent();if(this.disabled)return;if(this.isExpanded())this.multiSelectMode= false;else if(this.pinList)this.multiSelectMode=true;this.onTriggerClick()},this)},removeButtonEvents:function(){this.buttonClear.removeAllListeners();if(this.allowQueryAll)this.buttonExpand.removeAllListeners();return this},clearCurrentFocus:function(){if(this.currentFocus){this.currentFocus.onLnkBlur();this.currentFocus=null}return this},initEvents:function(){var el=this.el;el.on({click:this.onClick,focus:this.clearCurrentFocus,blur:this.onBlur,keydown:this.onKeyDownHandler,keyup:this.onKeyUpBuffered, scope:this});this.on({collapse:this.onCollapse,expand:this.clearCurrentFocus,scope:this});this.wrapEl.on("click",this.onWrapClick,this);this.outerWrapEl.on("click",this.onWrapClick,this);this.inputEl.focus=function(){el.focus()};Ext.ux.form.SuperBoxSelect.superclass.initEvents.call(this);Ext.apply(this.keyNav,{tab:function(e){if(this.fixFocusOnTabSelect&&this.isExpanded()){e.stopEvent();el.blur();this.onViewClick(false);this.focus(false,10);return true}this.onViewClick(false);if(el.dom.value!=="")this.setRawValue(""); return true},down:function(e){if(!this.isExpanded()&&!this.currentFocus){if(this.allowQueryAll)this.onTriggerClick()}else{this.inKeyMode=true;this.selectNext()}},enter:function(){}})},onClick:function(){this.clearCurrentFocus();this.collapse();this.autoSize()},beforeBlur:function(){if(this.allowAddNewData&&this.addNewDataOnBlur){var v=this.el.dom.value;if(v!=="")this.fireNewItemEvent(v)}Ext.form.ComboBox.superclass.beforeBlur.call(this)},onFocus:function(){this.outerWrapEl.addClass(this.focusClass); Ext.ux.form.SuperBoxSelect.superclass.onFocus.call(this)},onBlur:function(){this.outerWrapEl.removeClass(this.focusClass);this.clearCurrentFocus();if(this.el.dom.value!==""){this.applyEmptyText();this.autoSize()}Ext.ux.form.SuperBoxSelect.superclass.onBlur.call(this)},onCollapse:function(){this.view.clearSelections();this.multiSelectMode=false},onWrapClick:function(e){e.stopEvent();this.collapse();this.el.focus();this.clearCurrentFocus()},markInvalid:function(msg){var elp,t;if(!this.rendered||this.preventMark)return; this.outerWrapEl.addClass(this.invalidClass);msg=msg||this.invalidText;switch(this.msgTarget){case "qtip":Ext.apply(this.el.dom,{qtip:msg,qclass:"x-form-invalid-tip"});Ext.apply(this.wrapEl.dom,{qtip:msg,qclass:"x-form-invalid-tip"});if(Ext.QuickTips)Ext.QuickTips.enable();break;case "title":this.el.dom.title=msg;this.wrapEl.dom.title=msg;this.outerWrapEl.dom.title=msg;break;case "under":if(!this.errorEl){elp=this.getErrorCt();if(!elp){this.el.dom.title=msg;break}this.errorEl=elp.createChild({cls:"x-form-invalid-msg"}); this.errorEl.setWidth(elp.getWidth(true)-20)}this.errorEl.update(msg);Ext.form.Field.msgFx[this.msgFx].show(this.errorEl,this);break;case "side":if(!this.errorIcon){elp=this.getErrorCt();if(!elp){this.el.dom.title=msg;break}this.errorIcon=elp.createChild({cls:"x-form-invalid-icon"})}this.alignErrorIcon();Ext.apply(this.errorIcon.dom,{qtip:msg,qclass:"x-form-invalid-tip"});this.errorIcon.show();this.on("resize",this.alignErrorIcon,this);break;default:t=Ext.getDom(this.msgTarget);t.innerHTML=msg;t.style.display= this.msgDisplay;break}this.fireEvent("invalid",this,msg)},clearInvalid:function(){if(!this.rendered||this.preventMark)return;this.outerWrapEl.removeClass(this.invalidClass);switch(this.msgTarget){case "qtip":this.el.dom.qtip="";this.wrapEl.dom.qtip="";break;case "title":this.el.dom.title="";this.wrapEl.dom.title="";this.outerWrapEl.dom.title="";break;case "under":if(this.errorEl)Ext.form.Field.msgFx[this.msgFx].hide(this.errorEl,this);break;case "side":if(this.errorIcon){this.errorIcon.dom.qtip=""; this.errorIcon.hide();this.un("resize",this.alignErrorIcon,this)}break;default:var t=Ext.getDom(this.msgTarget);t.innerHTML="";t.style.display="none";break}this.fireEvent("valid",this)},alignErrorIcon:function(){if(this.wrap)this.errorIcon.alignTo(this.wrap,"tl-tr",[Ext.isIE?5:2,3])},expand:function(){if(this.isExpanded()||!this.hasFocus)return;if(this.bufferSize){this.doResize(this.bufferSize);delete this.bufferSize}this.list.alignTo(this.outerWrapEl,this.listAlign).show();this.innerList.setOverflow("auto"); this.mon(Ext.getDoc(),{scope:this,mousewheel:this.collapseIf,mousedown:this.collapseIf});this.fireEvent("expand",this)},restrictHeight:function(){var inner=this.innerList.dom,st=inner.scrollTop,list=this.list;inner.style.height="";var pad=list.getFrameWidth("tb")+(this.resizable?this.handleHeight:0)+this.assetHeight,h=Math.max(inner.clientHeight,inner.offsetHeight,inner.scrollHeight),ha=this.getPosition()[1]-Ext.getBody().getScroll().top,hb=Ext.lib.Dom.getViewHeight()-ha-this.getSize().height,space= Math.max(ha,hb,this.minHeight||0)-list.shadowOffset-pad-5;h=Math.min(h,space,this.maxHeight);this.innerList.setHeight(h);list.beginUpdate();list.setHeight(h+pad);list.alignTo(this.outerWrapEl,this.listAlign);list.endUpdate();if(this.multiSelectMode)inner.scrollTop=st},validateValue:function(val){if(this.items.getCount()===0)if(this.allowBlank){this.clearInvalid();return true}else{this.markInvalid(this.blankText);return false}this.clearInvalid();return true},manageNameAttribute:function(){if(this.items.getCount()=== 0&&this.forceFormValue)this.el.dom.setAttribute("name",this.hiddenName||this.name);else this.el.dom.removeAttribute("name")},setupFormInterception:function(){var form;this.findParentBy(function(p){if(p.getForm)form=p.getForm()});if(form){var formGet=form.getValues;form.getValues=function(asString){this.el.dom.disabled=true;var oldVal=this.el.dom.value;this.setRawValue("");var vals=formGet.call(form);this.el.dom.disabled=false;this.setRawValue(oldVal);if(this.forceFormValue&&this.items.getCount()=== 0)vals[this.name]="";return asString?Ext.urlEncode(vals):vals}.createDelegate(this)}},onResize:function(w,h,rw,rh){var reduce=Ext.isIE6?4:Ext.isIE7?1:Ext.isIE8?1:0;if(this.wrapEl){this._width=w;this.outerWrapEl.setWidth(w-reduce);if(this.renderFieldBtns){reduce+=this.buttonWrap.getWidth()+20;this.wrapEl.setWidth(w-reduce)}}Ext.ux.form.SuperBoxSelect.superclass.onResize.call(this,w,h,rw,rh);this.autoSize()},onEnable:function(){Ext.ux.form.SuperBoxSelect.superclass.onEnable.call(this);this.items.each(function(item){item.enable()}); if(this.renderFieldBtns)this.initButtonEvents()},onDisable:function(){Ext.ux.form.SuperBoxSelect.superclass.onDisable.call(this);this.items.each(function(item){item.disable()});if(this.renderFieldBtns)this.removeButtonEvents()},clearValue:function(supressRemoveEvent){Ext.ux.form.SuperBoxSelect.superclass.clearValue.call(this);this.preventMultipleRemoveEvents=supressRemoveEvent||this.supressClearValueRemoveEvents||false;this.removeAllItems();this.preventMultipleRemoveEvents=false;this.fireEvent("clear", this);return this},fireNewItemEvent:function(val){this.view.clearSelections();this.collapse();this.setRawValue("");if(this.queryFilterRe){val=val.replace(this.queryFilterRe,"");if(!val)return}this.fireEvent("newitem",this,val,this.filteredQueryData)},onKeyUp:function(e){if(this.editable!==false&&(!e.isSpecialKey()||e.getKey()===e.BACKSPACE)&&this.itemDelimiterKey.indexOf!==e.getKey()&&(!e.hasModifier()||e.shiftKey)){this.lastKey=e.getKey();this.dqTask.delay(this.queryDelay)}},onKeyDownHandler:function(e, t){var toDestroy,nextFocus,idx;if(e.getKey()===e.ESC)if(!this.isExpanded())if(this.el.dom.value!=""&&(this.clearOnEscape||this.clearLastQueryOnEscape)){if(this.clearOnEscape)this.el.dom.value="";if(this.clearLastQueryOnEscape)this.lastQuery="";e.stopEvent()}if((e.getKey()===e.DELETE||e.getKey()===e.SPACE)&&this.currentFocus){e.stopEvent();toDestroy=this.currentFocus;this.on("expand",function(){this.collapse()},this,{single:true});idx=this.items.indexOfKey(this.currentFocus.key);this.clearCurrentFocus(); if(idx<this.items.getCount()-1)nextFocus=this.items.itemAt(idx+1);toDestroy.preDestroy(true);if(nextFocus)(function(){nextFocus.onLnkFocus();this.currentFocus=nextFocus}).defer(200,this);return true}var val=this.el.dom.value,it,ctrl=e.ctrlKey;if(this.itemDelimiterKey===e.getKey()){e.stopEvent();if(val!=="")if(ctrl||!this.isExpanded())this.fireNewItemEvent(val);else{this.onViewClick();if(this.unsetDelayCheck){this.delayedCheck=true;this.unsetDelayCheck.defer(10,this)}}else{if(!this.isExpanded())return; this.onViewClick();if(this.unsetDelayCheck){this.delayedCheck=true;this.unsetDelayCheck.defer(10,this)}}return true}if(val!==""){this.autoSize();return}if(e.getKey()===e.HOME){e.stopEvent();if(this.items.getCount()>0){this.collapse();it=this.items.get(0);it.el.focus()}return true}if(e.getKey()===e.BACKSPACE){e.stopEvent();if(this.currentFocus){toDestroy=this.currentFocus;this.on("expand",function(){this.collapse()},this,{single:true});idx=this.items.indexOfKey(toDestroy.key);this.clearCurrentFocus(); if(idx<this.items.getCount()-1)nextFocus=this.items.itemAt(idx+1);toDestroy.preDestroy(true);if(nextFocus)(function(){nextFocus.onLnkFocus();this.currentFocus=nextFocus}).defer(200,this);return}else{it=this.items.get(this.items.getCount()-1);if(it)if(this.backspaceDeletesLastItem){this.on("expand",function(){this.collapse()},this,{single:true});it.preDestroy(true)}else if(this.navigateItemsWithTab)it.onElClick();else this.on("expand",function(){this.collapse();this.currentFocus=it;this.currentFocus.onLnkFocus.defer(20, this.currentFocus)},this,{single:true});return true}}if(!e.isNavKeyPress()){this.multiSelectMode=false;this.clearCurrentFocus();return}if(e.getKey()===e.LEFT||e.getKey()===e.UP&&!this.isExpanded()){e.stopEvent();this.collapse();it=this.items.get(this.items.getCount()-1);if(this.navigateItemsWithTab){if(it)it.focus()}else if(this.currentFocus){idx=this.items.indexOfKey(this.currentFocus.key);this.clearCurrentFocus();if(idx!==0){this.currentFocus=this.items.itemAt(idx-1);this.currentFocus.onLnkFocus()}}else{this.currentFocus= it;if(it)it.onLnkFocus()}return true}if(e.getKey()===e.DOWN)if(this.currentFocus){this.collapse();e.stopEvent();idx=this.items.indexOfKey(this.currentFocus.key);if(idx==this.items.getCount()-1)this.clearCurrentFocus.defer(10,this);else{this.clearCurrentFocus();this.currentFocus=this.items.itemAt(idx+1);if(this.currentFocus)this.currentFocus.onLnkFocus()}return true}if(e.getKey()===e.RIGHT){this.collapse();it=this.items.itemAt(0);if(this.navigateItemsWithTab){if(it)it.focus()}else if(this.currentFocus){idx= this.items.indexOfKey(this.currentFocus.key);this.clearCurrentFocus();if(idx<this.items.getCount()-1){this.currentFocus=this.items.itemAt(idx+1);if(this.currentFocus)this.currentFocus.onLnkFocus()}}else{this.currentFocus=it;if(it)it.onLnkFocus()}}},onKeyUpBuffered:function(e){if(!e.isNavKeyPress())this.autoSize()},reset:function(){this.killItems();Ext.ux.form.SuperBoxSelect.superclass.reset.call(this);this.addedRecords=[];this.autoSize().setRawValue("")},applyEmptyText:function(){this.setRawValue(""); if(this.items.getCount()>0){this.el.removeClass(this.emptyClass);this.setRawValue("");return this}if(this.rendered&&this.emptyText&&this.getRawValue().length<1){this.setRawValue(this.emptyText);this.el.addClass(this.emptyClass)}return this},removeAllItems:function(){this.items.each(function(item){item.preDestroy(true)},this);this.manageClearBtn();return this},killItems:function(){this.items.each(function(item){item.kill()},this);this.resetStore();this.items.clear();this.manageClearBtn();return this}, resetStore:function(){this.store.clearFilter();if(!this.removeValuesFromStore)return this;this.usedRecords.each(function(rec){this.store.add(rec)},this);this.usedRecords.clear();if(!this.store.remoteSort)this.store.sort(this.displayField,"ASC");return this},sortStore:function(){var ss=this.store.getSortState();if(ss&&ss.field)this.store.sort(ss.field,ss.direction);return this},getCaption:function(dataObject){if(typeof this.displayFieldTpl==="string")this.displayFieldTpl=new Ext.XTemplate(this.displayFieldTpl); var caption,recordData=dataObject instanceof Ext.data.Record?dataObject.data:dataObject;if(this.displayFieldTpl)caption=this.displayFieldTpl.apply(recordData);else if(this.displayField)caption=recordData[this.displayField];return caption},addRecord:function(record){var display=record.data[this.displayField],caption=this.getCaption(record),val=record.data[this.valueField],cls=this.classField?record.data[this.classField]:"",style=this.styleField?record.data[this.styleField]:"";if(this.removeValuesFromStore){this.usedRecords.add(val, record);this.store.remove(record)}this.addItemBox(val,display,caption,cls,style);this.fireEvent("additem",this,val,record)},createRecord:function(recordData){if(!this.recordConstructor){var recordFields=[{name:this.valueField},{name:this.displayField}];if(this.classField)recordFields.push({name:this.classField});if(this.styleField)recordFields.push({name:this.styleField});this.recordConstructor=Ext.data.Record.create(recordFields)}return new this.recordConstructor(recordData)},addItems:function(newItemObjects){if(Ext.isArray(newItemObjects))Ext.each(newItemObjects, function(item){this.addItem(item)},this);else this.addItem(newItemObjects)},addNewItem:function(newItemObject){this.addItem(newItemObject,true)},addItem:function(newItemObject,forcedAdd){var val=newItemObject[this.valueField];if(this.disabled)return false;if(this.preventDuplicates&&this.hasValue(val))return;var record=this.findRecord(this.valueField,val);if(record){this.addRecord(record);return}else if(!this.allowAddNewData)return;if(this.mode==="remote"){this.remoteLookup.push(newItemObject);this.doQuery(val, false,false,forcedAdd);return}var rec=this.createRecord(newItemObject);this.store.add(rec);this.addRecord(rec);return true},addItemBox:function(itemVal,itemDisplay,itemCaption,itemClass,itemStyle){var hConfig,parseStyle=function(s){var ret="";switch(typeof s){case "function":ret=s.call();break;case "object":for(var p in s)ret+=p+":"+s[p]+";";break;case "string":ret=s+";"}return ret},itemKey=Ext.id(null,"sbx-item"),box=new Ext.ux.form.SuperBoxSelectItem({owner:this,disabled:this.disabled,renderTo:this.wrapEl, cls:this.extraItemCls+" "+itemClass,style:parseStyle(this.extraItemStyle)+" "+itemStyle,caption:itemCaption,display:itemDisplay,value:itemVal,key:itemKey,listeners:{"remove":function(item){if(this.fireEvent("beforeremoveitem",this,item.value)===false)return false;this.items.removeKey(item.key);if(this.removeValuesFromStore)if(this.usedRecords.containsKey(item.value)){this.store.add(this.usedRecords.get(item.value));this.usedRecords.removeKey(item.value);this.sortStore();if(this.view)this.view.render()}if(!this.preventMultipleRemoveEvents)this.fireEvent.defer(250, this,["removeitem",this,item.value,this.findInStore(item.value)])},destroy:function(){this.collapse();this.autoSize().manageClearBtn().validateValue()},scope:this}});box.render();hConfig={tag:"input",type:"hidden",value:itemVal,name:this.hiddenName||this.name};if(this.disabled)Ext.apply(hConfig,{disabled:"disabled"});box.hidden=this.el.insertSibling(hConfig,"before");this.items.add(itemKey,box);this.applyEmptyText().autoSize().manageClearBtn().validateValue()},manageClearBtn:function(){if(!this.renderFieldBtns|| !this.rendered)return this;var cls="x-superboxselect-btn-hide";if(this.items.getCount()===0)this.buttonClear.addClass(cls);else;return this},findInStore:function(val){var index=this.store.find(this.valueField,val);if(index>-1)return this.store.getAt(index);return false},getSelectedRecords:function(){var ret=[];if(this.removeValuesFromStore)ret=this.usedRecords.getRange();else{var vals=[];this.items.each(function(item){vals.push(item.value)});Ext.each(vals,function(val){ret.push(this.findInStore(val))}, this)}return ret},findSelectedItem:function(el){var ret;this.items.each(function(item){if(item.el.dom===el){ret=item;return false}});return ret},findSelectedRecord:function(el){var ret,item=this.findSelectedItem(el);if(item)ret=this.findSelectedRecordByValue(item.value);return ret},findSelectedRecordByValue:function(val){var ret;if(this.removeValuesFromStore)this.usedRecords.each(function(rec){if(rec.get(this.valueField)==val){ret=rec;return false}},this);else ret=this.findInStore(val);return ret}, getValue:function(){var ret=[];this.items.each(function(item){ret.push(item.value)});if(ret.length)return ret.join(this.valueDelimiter);else if(!Ext.isEmpty(this.value))return this.value;else return""},getCount:function(){return this.items.getCount()},getValueEx:function(){var ret=[];this.items.each(function(item){var newItem={};newItem[this.valueField]=item.value;newItem[this.displayField]=item.display;if(this.classField)newItem[this.classField]=item.cls||"";if(this.styleField)newItem[this.styleField]= item.style||"";ret.push(newItem)},this);return ret},initValue:function(){if(Ext.isObject(this.value)||Ext.isArray(this.value)){this.setValueEx(this.value);this.originalValue=this.getValue()}else Ext.ux.form.SuperBoxSelect.superclass.initValue.call(this);if(this.mode==="remote")this.setOriginal=true},addValue:function(value){if(Ext.isEmpty(value))return;var values=value;if(!Ext.isArray(value)){value=""+value;values=value.split(this.valueDelimiter)}Ext.each(values,function(val){var record=this.findRecord(this.valueField, val);if(record)this.addRecord(record);else if(this.mode==="remote")this.remoteLookup.push(val)},this);if(this.mode==="remote"){var q=this.remoteLookup.join(this.queryValuesDelimiter);this.doQuery(q,false,true)}},setValue:function(value){if(!this.rendered){this.value=value;return}this.removeAllItems().resetStore();this.remoteLookup=[];this.addValue(value)},setValueEx:function(data){if(!this.rendered){this.value=data;return}this.removeAllItems().resetStore();if(!Ext.isArray(data))data=[data];this.remoteLookup= [];if(this.allowAddNewData&&this.mode==="remote"){Ext.each(data,function(d){var r=this.findRecord(this.valueField,d[this.valueField])||this.createRecord(d);this.addRecord(r)},this);return}Ext.each(data,function(item){this.addItem(item)},this)},hasValue:function(val){var has=false;this.items.each(function(item){if(item.value==val){has=true;return false}},this);return has},onSelect:function(record,index){if(this.fireEvent("beforeselect",this,record,index)!==false){var val=record.data[this.valueField]; if(this.preventDuplicates&&this.hasValue(val))return;this.setRawValue("");this.lastSelectionText="";if(this.fireEvent("beforeadditem",this,val,record,this.filteredQueryData)!==false)this.addRecord(record);if(this.store.getCount()===0||!this.multiSelectMode)this.collapse();else this.restrictHeight()}},onDestroy:function(){this.items.purgeListeners();this.killItems();if(this.allowQueryAll)Ext.destroy(this.buttonExpand);if(this.renderFieldBtns)Ext.destroy(this.buttonClear,this.buttonWrap);Ext.destroy(this.inputEl, this.wrapEl,this.outerWrapEl);Ext.ux.form.SuperBoxSelect.superclass.onDestroy.call(this)},autoSize:function(){if(!this.rendered)return this;if(!this.metrics)this.metrics=Ext.util.TextMetrics.createInstance(this.el);var el=this.el,v=el.dom.value,d=document.createElement("div");if(v===""&&this.emptyText&&this.items.getCount()<1)v=this.emptyText;d.appendChild(document.createTextNode(v));v=d.innerHTML;d=null;v+=" ";var w=Math.max(this.metrics.getWidth(v)+24,24);if(typeof this._width!="undefined")w= Math.min(this._width,w);this.el.setWidth(w);if(Ext.isIE)this.el.dom.style.top="0";this.fireEvent("autosize",this,w);return this},shouldQuery:function(q){if(this.lastQuery){var m=q.match("^"+this.lastQuery);if(!m||this.store.getCount())return true;else return m[0]!==this.lastQuery}return true},doQuery:function(q,forceAll,valuesQuery,forcedAdd){q=Ext.isEmpty(q)?"":q;if(this.queryFilterRe){this.filteredQueryData="";var m=q.match(this.queryFilterRe);if(m&&m.length)this.filteredQueryData=m[0];q=q.replace(this.queryFilterRe, "");if(!q&&m)return}var qe={query:q,forceAll:forceAll,combo:this,cancel:false};if(this.fireEvent("beforequery",qe)===false||qe.cancel)return false;q=qe.query;forceAll=qe.forceAll;if(forceAll===true||q.length>=this.minChars||valuesQuery&&!Ext.isEmpty(q))if(forcedAdd||this.forceSameValueQuery||this.shouldQuery(q)){this.lastQuery=q;if(this.mode=="local"){this.selectedIndex=-1;if(forceAll)this.store.clearFilter();else this.store.filter(this.displayField,q);this.onLoad()}else{this.store.baseParams[this.queryParam]= q;this.store.baseParams[this.queryValuesIndicator]=valuesQuery;this.store.load({params:this.getParams(q)});if(!forcedAdd)this.expand()}}else{this.selectedIndex=-1;this.onLoad()}},onStoreLoad:function(store,records,options){var q=options.params[this.queryParam]||store.baseParams[this.queryParam]||"",isValuesQuery=options.params[this.queryValuesIndicator]||store.baseParams[this.queryValuesIndicator];if(this.removeValuesFromStore)this.store.each(function(record){if(this.usedRecords.containsKey(record.get(this.valueField)))this.store.remove(record)}, this);if(isValuesQuery){var params=q.split(this.queryValuesDelimiter);Ext.each(params,function(p){this.remoteLookup.remove(p);var rec=this.findRecord(this.valueField,p);if(rec)this.addRecord(rec)},this);if(this.setOriginal){this.setOriginal=false;this.originalValue=this.getValue()}}if(q!==""&&this.allowAddNewData)Ext.each(this.remoteLookup,function(r){if(typeof r==="object"&&r[this.valueField]===q){this.remoteLookup.remove(r);if(records.length&&records[0].get(this.valueField)===q){this.addRecord(records[0]); return}var rec=this.createRecord(r);this.store.add(rec);this.addRecord(rec);this.addedRecords.push(rec);(function(){if(this.isExpanded())this.collapse()}).defer(10,this);return}},this);var toAdd=[];if(q==="")Ext.each(this.addedRecords,function(rec){if(this.preventDuplicates&&this.usedRecords.containsKey(rec.get(this.valueField)))return;toAdd.push(rec)},this);else{var re=new RegExp(Ext.escapeRe(q)+".*","i");Ext.each(this.addedRecords,function(rec){if(this.preventDuplicates&&this.usedRecords.containsKey(rec.get(this.valueField)))return; if(re.test(rec.get(this.displayField)))toAdd.push(rec)},this)}this.store.add(toAdd);this.sortStore();if(this.store.getCount()===0&&this.isExpanded())this.collapse()}});Ext.reg("superboxselect",Ext.ux.form.SuperBoxSelect);Ext.ux.form.SuperBoxSelectItem=function(config){Ext.apply(this,config);Ext.ux.form.SuperBoxSelectItem.superclass.constructor.call(this)}; Ext.ux.form.SuperBoxSelectItem=Ext.extend(Ext.ux.form.SuperBoxSelectItem,Ext.Component,{initComponent:function(){Ext.ux.form.SuperBoxSelectItem.superclass.initComponent.call(this)},onElClick:function(e){var o=this.owner;o.clearCurrentFocus().collapse();if(o.navigateItemsWithTab)this.focus();else{o.el.dom.focus();var that=this;(function(){this.onLnkFocus();o.currentFocus=this}).defer(10,this)}},onLnkClick:function(e){if(e)e.stopEvent();this.preDestroy();if(!this.owner.navigateItemsWithTab)this.owner.el.focus()}, onLnkFocus:function(){this.el.addClass("x-superboxselect-item-focus");this.owner.outerWrapEl.addClass("x-form-focus")},onLnkBlur:function(){this.el.removeClass("x-superboxselect-item-focus");this.owner.outerWrapEl.removeClass("x-form-focus")},enableElListeners:function(){this.el.on("click",this.onElClick,this,{stopEvent:true});this.el.addClassOnOver("x-superboxselect-item x-superboxselect-item-hover")},enableLnkListeners:function(){this.lnk.on({click:this.onLnkClick,focus:this.onLnkFocus,blur:this.onLnkBlur, scope:this})},enableAllListeners:function(){this.enableElListeners();this.enableLnkListeners()},disableAllListeners:function(){this.el.removeAllListeners();this.lnk.un("click",this.onLnkClick,this);this.lnk.un("focus",this.onLnkFocus,this);this.lnk.un("blur",this.onLnkBlur,this)},onRender:function(ct,position){Ext.ux.form.SuperBoxSelectItem.superclass.onRender.call(this,ct,position);var el=this.el;if(el)el.remove();this.el=el=ct.createChild({tag:"li"},ct.last());el.addClass("x-superboxselect-item"); var btnEl=this.owner.navigateItemsWithTab?Ext.isSafari?"button":"a":"span";var itemKey=this.key;Ext.apply(el,{focus:function(){var c=this.down(btnEl+".x-superboxselect-item-close");if(c)c.focus()},preDestroy:function(){this.preDestroy()}.createDelegate(this)});this.enableElListeners();el.update(this.caption);var cfg={tag:btnEl,"class":"x-superboxselect-item-close",tabIndex:this.owner.navigateItemsWithTab?"0":"-1"};if(btnEl==="a")cfg.href="#";this.lnk=el.createChild(cfg);if(!this.disabled)this.enableLnkListeners(); else this.disableAllListeners();this.on({disable:this.disableAllListeners,enable:this.enableAllListeners,scope:this});this.setupKeyMap()},setupKeyMap:function(){this.keyMap=new Ext.KeyMap(this.lnk,[{key:[Ext.EventObject.BACKSPACE,Ext.EventObject.DELETE,Ext.EventObject.SPACE],fn:this.preDestroy,scope:this},{key:[Ext.EventObject.RIGHT,Ext.EventObject.DOWN],fn:function(){this.moveFocus("right")},scope:this},{key:[Ext.EventObject.LEFT,Ext.EventObject.UP],fn:function(){this.moveFocus("left")},scope:this}, {key:[Ext.EventObject.HOME],fn:function(){var l=this.owner.items.get(0).el.focus();if(l)l.el.focus()},scope:this},{key:[Ext.EventObject.END],fn:function(){this.owner.el.focus()},scope:this},{key:Ext.EventObject.ENTER,fn:function(){}}]);this.keyMap.stopEvent=true},moveFocus:function(dir){var el=this.el[dir=="left"?"prev":"next"]()||this.owner.el;el.focus.defer(100,el)},preDestroy:function(supressEffect){if(this.fireEvent("remove",this)===false)return;var actionDestroy=function(){if(this.owner.navigateItemsWithTab)this.moveFocus("right"); this.hidden.remove();this.hidden=null;this.destroy()};if(supressEffect)actionDestroy.call(this);else this.el.hide({duration:.2,callback:actionDestroy,scope:this});return this},kill:function(){this.hidden.remove();this.hidden=null;this.purgeListeners();this.destroy()},onDisable:function(){if(this.hidden)this.hidden.dom.setAttribute("disabled","disabled");this.keyMap.disable();Ext.ux.form.SuperBoxSelectItem.superclass.onDisable.call(this)},onEnable:function(){if(this.hidden)this.hidden.dom.removeAttribute("disabled"); this.keyMap.enable();Ext.ux.form.SuperBoxSelectItem.superclass.onEnable.call(this)},onDestroy:function(){Ext.destroy(this.lnk,this.el);Ext.ux.form.SuperBoxSelectItem.superclass.onDestroy.call(this)}});Ext.reg("superboxselect",Ext.ux.form.SuperBoxSelect);Ext.form.SuperBoxSelect=Ext.ux.form.SuperBoxSelect;Application.components.TariffSelectionDialog=Ext.extend(Ext.form.FormPanel,{successCallback:null,cancelCallback:null,parentWin:null,id:Ext.id(),listeners:{afterRender:function(){var me=this;performRPCCall(RPC.Tariff.list,[{actual:true}],{wait_text:"\u0418\u0434\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0442\u0430\u0440\u0438\u0444\u043e\u0432..."},function(resp){if(!resp.success){echoResponseMessage(resp);return}var tariffs= resp.list||[];var items=[];var periodsStore=new Ext.data.JsonStore({autoDestroy:true,autoLoad:true,idProperty:"period",fields:["period","period_title"],data:resp.periods});var wrapper=Ext.getCmp(me.ids["tariffs_radios_panel"]);var cntr=0;Ext.each(tariffs,function(tariff){var radio_id=Ext.id();var combo_id=Ext.id();wrapper.add({xtype:"panel",width:"100%",items:[{layout:"column",items:[{xtype:"radio",id:radio_id,hideLabel:true,columnWidth:1,boxLabel:"<b>\u0422\u0430\u0440\u0438\u0444 «"+tariff["title"]+ "»</b>",name:"tariff",checked:tariff["name"]==Main.contragent.tariff_name,disabled:tariff["name"]==Main.contragent.tariff_name,value:tariff["name"],inputValue:tariff["name"],listeners:{check:function(){Ext.getCmp(me.ids["submitButton"]).enable()}}},{xtype:"panel",width:200,items:[{xtype:"combo",hidden:tariff["name"]=="common",id:combo_id,hiddenName:"period["+tariff["name"]+"]",store:periodsStore,disabled:tariff["name"]==Main.contragent.tariff_name,valueField:"period",displayField:"period_title", mode:"local",triggerAction:"all",editable:false,allowBlank:false,emptyText:"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043f\u0435\u0440\u0438\u043e\u0434...",listeners:{select:function(){Ext.getCmp(radio_id).setValue(true)}}}]}]},{html:tariff["description"],colspan:2,border:false,style:"margin: 10px 10px 10px 20px"}]});cntr++});wrapper.doLayout()})}},initComponent:function(){var me=this;me.ids=initIds(["tariffs_radios_panel","submitButton"]);Ext.apply(me,{frame:true,items:[{xtype:"panel", id:me.ids["tariffs_radios_panel"],items:[{html:'<p style="margin: 0 0 5px 0;">\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0434\u043b\u044f \u0412\u0430\u0441 \u0441\u043f\u043e\u0441\u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430 \u042d\u041f:</p>'}]}],buttons:[{text:"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c",disabled:true, id:me.ids["submitButton"],scope:this,handler:function(){var form=this.getValues();if(isEmpty(form["period"])){alertError("\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043f\u0435\u0440\u0438\u043e\u0434");return}if(isEmpty(form["tariff"])){alertError("\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0430\u0440\u0438\u0444");return}performRPCCall(RPC.Tariff.activationAgreeText,[form],{},function(resp){if(!resp.success){echoResponseMessage(resp);return false}var win=new Application.components.promptWindow({title:"\u041f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0442\u0430\u0440\u0438\u0444\u0430", cmpType:"Application.components.SignatureForm",parentCmp:me,modal:true,cmpParams:{api:RPC.Tariff.activate,signatureText:resp.text,signatureTextHeight:250,useFormHandler:false,items:convertObjectToFormElements(form),success_fn:function(resp){if(!resp.success){echoResponseMessage(resp);return false}win.close();if(me.parentWin&&Ext.getCmp(me.parentWin))Ext.getCmp(me.parentWin).close();me.successCallback(resp)}}});win.show()})}},{text:"\u041e\u0442\u043c\u0435\u043d\u0430",scope:this,handler:function(){this.cancelCallback()}}]}); Application.components.TariffSelectionDialog.superclass.initComponent.call(this)},getValues:function(){var form_values=this.getForm().getValues();return{tariff:form_values["tariff"],period:form_values["period["+form_values["tariff"]+"]"]}}});Ext.define("Application.components.accountDataPanel",{extend:"Ext.panel.Panel",frame:false,border:true,initComponent:function(){var component=this;Ext.apply(this,{border:false,height:98,listeners:{beforerender:function(){component.relayEvents(Main.app,["update_account_info"]);component.relayEvents(Main.app,["deposit_changed"]);component.relayEvents(Main.app,["available_sum_changed"]);component.relayEvents(Main.app,["edo_accreditation_changed"])},update_account_info:function(sum,credit_sum){component.show_acc_panel(sum, credit_sum)},deposit_changed:function(contragent){component.show_acc_panel(contragent.available_sum,contragent.available_credit_sum)},available_sum_changed:function(sum,credit_sum){component.show_acc_panel(sum,credit_sum)},edo_accreditation_changed:function(new_status){component.show_acc_panel(Main.contragent.available_sum,Main.contragent.available_credit_sum,new_status)}},show_acc_panel:function(sum,sum_credit,edo_accreditation_status){if(!isGuest()){var accreds=[];var accreds_text="";if(!Main.config.hide_accreditation_text)accreds_text= "";var avail_sum="";var avail_credit_sum="";var dop_class="";var company_name="";if(isCustomerAccred())accreds.push("\u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0430");if(isSupplierAccred())accreds.push("\u0437\u0430\u044f\u0432\u0438\u0442\u0435\u043b\u044f");if(isExpert())accreds.push("\u044d\u043a\u0441\u043f\u0435\u0440\u0442\u0430");if(accreds.length>0&&!Main.config.hide_accreditation_text)accreds_text="\u0410\u043a\u043a\u0440\u0435\u0434\u0438\u0442\u0430\u0446\u0438\u044f \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435: "+ accreds.join(", ");if(isAdmin()){accreds_text="";company_name=Main.siteTitle;dop_class=" two_rows"}else if(isCustomer()&&!isSupplier()){accreds_text='<div class="uib-info">'+accreds_text+"</div>";dop_class=" three_rows";if(Main.contragent.short_name)company_name=Main.contragent.short_name;else company_name=Main.contragent.full_name}else{accreds_text='<div class="uib-info">'+accreds_text+"</div>";avail_sum='<div class="uib-info">\u0421\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0445 \u0441\u0440\u0435\u0434\u0441\u0442\u0432: <a href="#finance/balance" title="\u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044e \u043b\u0438\u0446\u0435\u0432\u043e\u0433\u043e \u0441\u0447\u0435\u0442\u0430">'+ Ext.util.Format.formatPrice(sum)+RUB_SIGN+"</a></div>";avail_credit_sum=sum_credit>0?'<div class="uib-info">\u0421\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0445 \u043a\u0440\u0435\u0434\u0438\u0442\u043d\u044b\u0445 \u0441\u0440\u0435\u0434\u0441\u0442\u0432: '+Ext.util.Format.formatPrice(sum_credit)+RUB_SIGN+"</div>":"";if(!isEmpty(Main.contragent))if(Main.contragent.status<COMPANY_STATUS.STATUS_APPROVED)company_name="<i>\u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 \u0441\u0442\u0430\u0434\u0438\u0438 \u0430\u043a\u043a\u0440\u0435\u0434\u0438\u0442\u0430\u0446\u0438\u0438</i>"; else company_name=Main.contragent.short_name||Main.contragent.full_name;else company_name="<i>\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u043d\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0446\u0438\u0439</i>"}if(component.items.length>0)component.removeAll();if(!Main.contragent.edo_enabled&&Main.config.edo&&!!Main.config.edo.enable&&(!!Main.config.edo.accreditate_customers&&isCustomerAdmin()||!!Main.config.edo.accreditate_suppliers&&isSupplierAccred())){var edoBlockTitle= "\u041f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0431\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440\u0441\u043a\u0438\u0435<br/>\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u0432 \u044d\u043b. \u0432\u0438\u0434\u0435";switch(edo_accreditation_status||Main.contragent.edo_accreditaion_status){case EDO_ACCREDITATION_STATUS_SIGNED:edoBlockTitle="\u0417\u0430\u044f\u0432\u043a\u0430 \u043d\u0430 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u0438<br/>\u0443 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u042d\u0422\u041f"; break;case EDO_ACCREDITATION_STATUS_DECLINED:edoBlockTitle="\u0417\u0430\u044f\u0432\u043a\u0430 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0430<br/>\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u043c \u042d\u0422\u041f!"}component.insert(1,{cls:"topFieldSet user-tariff-box",border:false,frame:false,style:"float:left; margin-right: 7px; margin-top: 0px; font-size: 10px; line-height:12px; color: #000; background: linear-gradient(rgb(255 244 180), rgb(252, 252, 252)); border-radius: 5px; border:1px solid rgb(237 222 214);", items:[{border:false,cls:"tariffTxt uib-u-name",style:"font-size: 11px",html:'<div style="text-align:center;">'+edoBlockTitle+"</div><br/>"},{xtype:"button",width:"100%",style:"margin-top: 6px; width: 98%;",disabled:Main.contragent.tariff_name!="common",text:"\u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u043d\u0430 \u042d\u0414\u041e",handler:function(){redirect_to("edo/join")}}]})}else if(!!Main.contragent.edo_enabled)component.insert(1,{cls:"topFieldSet user-tariff-box",border:false,frame:false, style:"float:left; margin-right: 7px; margin-top: 0px; font-size: 10px; line-height:12px; color: #000; background: linear-gradient(rgb(255 244 180), rgb(252, 252, 252)); border-radius: 5px; border:1px solid rgb(237 222 214);",items:[{border:false,cls:"tariffTxt uib-u-name",style:"font-size: 11px",html:'<div style="text-align:center;"><img src="/images/check-48.png" width="25" /><br/><div style="margin: 7px 0;">\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 \u0431\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440\u0441\u043a\u0438\u0435<br/>\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u0432 \u044d\u043b. \u0432\u0438\u0434\u0435!</div></div>'}]}); if(isSupplierAccred()&&Main.config.service_redirect&&null!=Main.contragent.tariff_name)component.insert(1,{cls:"topFieldSet user-tariff-box",border:false,frame:false,style:"float:left; margin-right: 7px; margin-top: 0px; font-size: 10px; line-height:12px;"+(null==Main.contragent.tariff_name?"background-color: #cc0000; color: #fff; border:1px solid #e1cabe;":"background: linear-gradient(rgb(233 245 196), rgb(252 255 245)); border:1px solid #e1e9c9; border-radius: 5px;"),items:[{border:false,cls:"tariffTxt uib-u-name", style:"font-size: 11px",html:'<div style="text-align:center;">\u0422\u0430\u0440\u0438\u0444\u043d\u044b\u0439 \u043f\u043b\u0430\u043d: <br/>«'+Main.contragent.tariff_title+"»</div>"},{border:false,cls:"tariffTxt uib-u-name",html:'<div style="text-align:center; margin: 1px 0px 2px">'+(Main.contragent.tariff_name=="common"?"\u0414\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u0431\u0435\u0441\u0441\u0440\u043e\u0447\u043d\u043e":"\u0414\u0430\u0442\u0430 \u0438\u0441\u0442\u0435\u0447\u0435\u043d\u0438\u044f: "+ Main.contragent.tariff_valid_for)+"<br/></div>"},{xtype:"button",width:"100%",style:"margin-top: 3px; width: 98%;",disabled:Main.contragent.tariff_name!="common",text:null==Main.contragent.tariff_id?"\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0442\u0430\u0440\u0438\u0444\u043d\u044b\u0439 \u043f\u043b\u0430\u043d":"\u041f\u0440\u043e\u0434\u043b\u0438\u0442\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0442\u0430\u0440\u0438\u0444\u0430",handler:function(){var window_id=Ext.id();var selectSigningMethod= new Ext.Window({autoHeight:true,width:700,modal:true,closeAction:"hide",plain:true,layout:"fit",title:"\u0412\u044b\u0431\u043e\u0440 \u0442\u0430\u0440\u0438\u0444\u0430",id:window_id,items:[{xtype:"Application.components.TariffSelectionDialog",parentWin:window_id,autoHeight:true,padding:"10px 5px 10px 5px",successCallback:function(resp){if(resp)echoResponseMessage(resp,function(){Main.reloadPrivileges()})},cancelCallback:function(){Ext.getCmp(window_id).close()}}]});selectSigningMethod.show()}}]}); var decisions_awaiting="";if(Main.notifications&&Main.notifications.length>0){var decisions_counter=Main.notifications.length;decisions_awaiting='<div class="uib-info"><a onclick="showNotificationsGrid();">\u0423 \u0412\u0430\u0441 '+decisions_counter+" "+(decisions_counter>1?"\u0432\u0430\u0436\u043d\u044b\u0445 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f":"\u0432\u0430\u0436\u043d\u043e\u0435 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435")+"</a></div>"}else{var decisions_counter= Main.notifications.length;decisions_awaiting='<div class="uib-info"><a onclick="showNotificationsGrid();">\u0423 \u0432\u0430\u0441 \u043d\u0435\u0442 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0439</a></div>';setAnnouncement("")}if(Main.user.certificate_valid&&(isCustomer()||isSupplier())){var dateValidForDate=new Date(Main.user.certificate_valid);var nowDate=new Date;if(dateValidForDate<nowDate)setAnnouncement({message:'\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435! \u0421\u0440\u043e\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0432\u0430\u0448\u0435\u0433\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 \u042d\u041f \u0438\u0441\u0442\u0435\u043a.<br/>\u0414\u043b\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u042d\u041f \u0432 \u043b\u0438\u0447\u043d\u043e\u043c \u043a\u0430\u0431\u0438\u043d\u0435\u0442\u0435 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 - \u041b\u0438\u0447\u043d\u044b\u0435 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f - <a href="/#user/loadeds">\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e\u0431 \u042d\u041f</a>.'})}component.insert(2, {border:false,style:"float:left; background: linear-gradient(rgb(249 240 212), rgb(252 252 252)); border-radius: 5px;",cls:"topFieldSet user-info-box"+dop_class,frame:false,items:[{border:false,cls:"tariffTxt",html:'<div class="uib-u-name"><a href="/#user/view" title="\u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u043f\u0440\u043e\u0444\u0438\u043b\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f" class="common">'+Main.user.full_name+"</a></div>"+'<div class="uib-info"><a href="/#company/view" title="\u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u043f\u0440\u043e\u0444\u0438\u043b\u044c \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438" class="common">'+ company_name+"</a></div>"+accreds_text+avail_sum+avail_credit_sum+decisions_awaiting}]});component.doLayout()}else{component.removeAll();component.doLayout()}}});Application.components.accountDataPanel.superclass.initComponent.call(this)}});Ext.define("Application.components.accreditationPanel",{extend:"Ext.panel.Panel",autoHeight:true,border:false,style:"margin: 5px 5px 10px; border-width: 1px;",bodyStyle:"padding: 10px 10px 0;",initComponent:function(){var component=this;Ext.apply(this,{labelWidth:300,layout:"form",defaults:{anchor:"100%",allowBlank:false,defaults:{allowBlank:false,anchor:"100%"}},items:[{xtype:"textfield",readOnly:true,value:component.accred.date_resolved?parseDate(component.accred.date_resolved).format("d.m.Y H:i"): "",style:"background: transparent; border: none;",fieldLabel:"\u0414\u0430\u0442\u0430 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0430\u043a\u043a\u0440\u0435\u0434\u0438\u0442\u0430\u0446\u0438\u0438"},{xtype:"textfield",readOnly:true,style:"background: transparent; border: none;",hidden:component.accredType=="customer",value:component.accredType=="customer"?component.cmpData.valid_for_cust:component.cmpData.valid_for_suppl,fieldLabel:"\u0414\u0430\u0442\u0430 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u0430\u043a\u043a\u0440\u0435\u0434\u0438\u0442\u0430\u0446\u0438\u0438"}, {xtype:"Application.components.FilelistFieldset",title:"\u0410\u043a\u043a\u0440\u0435\u0434\u0438\u0442\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b",withHash:false,listeners:{beforerender:function(){var cmp=this;var accred_files=null;if(component.accredType=="supplier")accred_files=component.cmpData.accreditation_files_with_reqs.supplier;if(component.accredType=="customer")accred_files=component.cmpData.accreditation_files_with_reqs.customer; var fileItems=[];if(accred_files)for(var i=0;i<accred_files.length;++i)if(accred_files[i].html.length){fileItems.push({subheader:accred_files[i].req_name+":"});for(var j=0;j<accred_files[i].html.length;++j)fileItems.push(accred_files[i].html[j])}if(fileItems)cmp.setValues(fileItems)}}},{xtype:"Application.components.FilelistFieldset",title:"\u0414\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439",withHash:false, hidden:true,listeners:{beforerender:function(){var cmp=this;var files=component.cmpData.procuracy_files;var fileItems=[];if(files!==undefined){this.hidden=false;if(files)for(var i=0;i<files.length;++i)fileItems.push(files[i])}if(fileItems)cmp.setValues(fileItems)}}},{xtype:"Application.components.FilelistFieldset",title:"\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u0439 \u041c\u0427\u0414",withHash:false,listeners:{beforerender:function(){var cmp= this;var poe_files=component.accred.digital_poa_files;if(poe_files){var fileItems=[];fileItems.push({subheader:"\u0424\u0430\u0439\u043b \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 .xml"+":"});fileItems.push(poe_files["xml"]);fileItems.push({subheader:"\u0424\u0430\u0439\u043b \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 .sig, .p7s, .sgn"+ ":"});fileItems.push(poe_files["sig"]);if(fileItems)cmp.setValues(fileItems)}}}}]});Application.components.accreditationPanel.superclass.initComponent.call(this)}});Ext.define("Application.components.actionPanel",{extend:"Ext.panel.Panel",style:"padding-top: 20px",border:false,autoHeight:true,defaults:{width:800,style:"padding-bottom: 30px; margin-left: auto; margin-right: auto;"},initComponent:function(){var items=[{xtype:this.cmpType,title:this.title,autoHeight:true,outerPanel:this}];if(this.width){items[0].width=this.width;delete this.width}this.header=false;this.preventHeader=true;if(this.cmpParams)Ext.apply(items[0],this.cmpParams);if(this.forceHeader)this.items= {xtype:"panel",title:this.title,layout:"fit",items:items};else this.items=items;Application.components.actionPanel.superclass.initComponent.call(this)}});Application.components.addressPanel=Ext.extend(Ext.Panel,{allowBlank:true,blankText:"\u043f\u043e\u043b\u0435 \u043d\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043e",msgTarget:"under",okato:null,index:null,region:null,city:null,street:null,useOKTMO:false,useIndexForAll:false,wasLoaded:false,fieldsToObserve:["index","okato","region_code","region","city","street"],hideFields:{oktmo:false,okato:false,region:false},titles:{regular:{index:"\u041f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0438\u043d\u0434\u0435\u043a\u0441", region:"\u0420\u0435\u0433\u0438\u043e\u043d/\u043e\u0431\u043b\u0430\u0441\u0442\u044c",city:"\u0413\u043e\u0440\u043e\u0434/\u0440\u0430\u0439\u043e\u043d",street:"\u0423\u043b\u0438\u0446\u0430",country_iso_nr:"\u0421\u0442\u0440\u0430\u043d\u0430",settlement:"\u041d\u0430\u0441\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u043f\u0443\u043d\u043a\u0442",house:"\u0414\u043e\u043c, \u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435",office:"\u041e\u0444\u0438\u0441"},oos:{index:"\u041f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0438\u043d\u0434\u0435\u043a\u0441", region:"\u0421\u0443\u0431\u044a\u0435\u043a\u0442 \u0420\u0424",city:"\u041c\u0443\u043d\u0438\u0446\u0438\u043f\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0439\u043e\u043d, \u0433\u043e\u0440\u043e\u0434\u0441\u043a\u043e\u0439 \u043e\u043a\u0440\u0443\u0433, \u0432\u043d\u0443\u0442\u0440\u0438\u0433\u043e\u0440\u043e\u0434\u0441\u043a\u0430\u044f \u0442\u0435\u0440\u0440\u0438\u0442\u043e\u0440\u0438\u044f \u0432 \u0441\u043e\u0441\u0442\u0430\u0432\u0435 \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u0430 \u0420\u0424", street:"\u042d\u043b\u0435\u043c\u0435\u043d\u0442 \u0443\u043b\u0438\u0447\u043d\u043e-\u0434\u043e\u0440\u043e\u0436\u043d\u043e\u0439 \u0441\u0435\u0442\u0438",country_iso_nr:"\u0421\u0442\u0440\u0430\u043d\u0430",settlement:"\u0413\u043e\u0440\u043e\u0434\u0441\u043a\u043e\u0435 \u0438\u043b\u0438 \u0441\u0435\u043b\u044c\u0441\u043a\u043e\u0435 \u043f\u043e\u0441\u0435\u043b\u0435\u043d\u0438\u0435 \u0432 \u0441\u043e\u0441\u0442\u0430\u0432\u0435 \u043c\u0443\u043d\u0438\u0446\u0438\u043f\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0430\u0439\u043e\u043d\u0430 \u0438\u043b\u0438 \u0432\u043d\u0443\u0442\u0440\u0438\u0433\u043e\u0440\u043e\u0434\u0441\u043a\u043e\u0433\u043e \u0440\u0430\u0439\u043e\u043d\u0430 \u0433\u043e\u0440\u043e\u0434\u0441\u043a\u043e\u0433\u043e \u043e\u043a\u0440\u0443\u0433\u0430", house:"\u0422\u0438\u043f \u0438 \u043d\u043e\u043c\u0435\u0440 \u0437\u0434\u0430\u043d\u0438\u044f, \u0441\u043e\u043e\u0440\u0443\u0436\u0435\u043d\u0438\u044f",office:"\u0422\u0438\u043f \u0438 \u043d\u043e\u043c\u0435\u0440 \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u044f"}},requiredFields:{settlement:false,city:true},defaults:{name:"postal"},template:"regular",arrayFields:true,initComponent:function(){var component=this;var fields=["index","okato","oktmo","region_code","region","city", "settlement","street","house","country_iso_nr","office"];var field_ids={};for(var i=0;i<fields.length;i++)field_ids[fields[i]]=Ext.id();function formFields(country){var index_field={xtype:"textfield",name:component.arrayFields?component.name+"[index]":"index",id:field_ids.index,allowBlank:false,vtype:"digits",minLength:5,maxLength:6,fieldLabel:component["titles"][component.template]["index"]+REQUIRED_FIELD};component.okato={xtype:"combo",store:createOkatoStore(),valueField:"name",displayField:"name", name:component.useOKTMO?component.arrayFields?component.name+"[oktmo]":"oktmo":component.arrayFields?component.name+"[okato]":"okato",id:component.useOKTMO?field_ids.oktmo:field_ids.okato,typeAhead:false,emptyText:component.useOKTMO?"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0434 \u041e\u041a\u0422\u041c\u041e":"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0434 \u041e\u041a\u0410\u0422\u041e",minChars:3,pageSize:30,hideTrigger:true,hidden:component.isFieldHidden(component.useOKTMO? "oktmo":"okato"),ref:component.useOKTMO?"oktmo_cmp":"okato_cmp",triggerAction:"query",allowBlank:true,fieldLabel:component.useOKTMO?"\u041a\u043e\u0434 \u041e\u041a\u0422\u041c\u041e":"\u041a\u043e\u0434 \u041e\u041a\u0410\u0422\u041e",listeners:{select:function(cmb,rec,idx){if(!!component.useOKTMO)return;var okato=this.getValue();RPC.Reference.fillByOkato(okato,function(result){var data=result.data;Ext.getCmp(field_ids.region).setValue(data.region);Ext.getCmp(field_ids.city).setValue(data.city); Ext.getCmp(field_ids.settlement).setValue(data.settlement)})}}};if(country=="\u0420\u043e\u0441\u0441\u0438\u044f"||country=="\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0430\u044f \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u044f (\u0420\u0424, \u0420\u043e\u0441\u0441\u0438\u044f)"){component.index=index_field;component.region_code={xtype:"hidden",name:component.arrayFields?component.name+"[region_code]":"region_code",id:field_ids.region_code};component.region={xtype:"combo",fieldLabel:component["titles"][component.template]["region"]+ REQUIRED_FIELD,allowBlank:false,store:createRegionsStore([],true),valueField:"name",displayField:"name",name:component.arrayFields?component.name+"[region]":"region",id:field_ids.region,ref:"region_cmp",hidden:component.isFieldHidden("region"),mode:"local",forceSelection:true,valueNotFoundText:"",triggerAction:"all",validate:function(){var cmp=Ext.getCmp(field_ids.region_code);if(cmp)return!isEmpty(cmp.getValue())},listeners:{beforerender:function(){var store=this.getStore();store.on("load",function(){this.setValue(this.value); var store_id=this.getStore().findExact("name",this.value);if(store_id>-1){var rec=this.getStore().getAt(store_id);var cmp_region_code=Ext.getCmp(field_ids.region_code);if(cmp_region_code)cmp_region_code.setValue(rec.get("code"))}},this,{once:true})},select:function(cmb,rec){var value=rec.get("code");value=parseInt(value);var cmp_region_code=Ext.getCmp(field_ids.region_code);if(cmp_region_code)cmp_region_code.setValue(rec.get("code"));if([77,78,92].indexOf(value)>-1){var city_cmp=Ext.getCmp(field_ids.city); if(city_cmp)city_cmp.setValue(rec.get("name"))}}}};component.city={xtype:"textfield",fieldLabel:component["titles"][component.template]["city"]+(component.requiredFields.city?REQUIRED_FIELD:""),allowBlank:false||!component.requiredFields.city,store:createZonesStore("city"),mode:"remote",valueField:"name",displayField:"name",ref:"city_cmp",name:component.arrayFields?component.name+"[city]":"city",id:field_ids.city,emptyText:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0433\u043e\u0440\u043e\u0434\u0430", minChars:3,pageSize:10,hideTrigger:true,triggerAction:"query"}}else{component.okato.hidden=true;component.index=null;if(component.useIndexForAll){component.index=index_field;component.index.minLength=1;component.index.maxLength=Number.MAX_VALUE;component.index.vtype=null}component.region={xtype:"textfield",name:component.arrayFields?component.name+"[region]":"region",id:field_ids.region,allowBlank:true,fieldLabel:component["titles"][component.template]["region"],ref:"region_cmp",hidden:component.isFieldHidden("region"), minLength:2,maxLength:255};component.region_code={xtype:"hidden",name:component.arrayFields?component.name+"[region_code]":"region_code",id:field_ids.region_code};component.city={xtype:"textfield",name:component.arrayFields?component.name+"[city]":"city",id:field_ids.city,minLength:3,maxLength:255,ref:"city_cmp",allowBlank:false||!component.requiredFields.city,fieldLabel:component["titles"][component.template]["city"]+(component.requiredFields.city?REQUIRED_FIELD:"")}}component.street={xtype:"textfield", name:component.arrayFields?component.name+"[street]":"street",id:field_ids.street,minLength:1,maxLength:255,allowBlank:false,fieldLabel:component["titles"][component.template]["street"]+REQUIRED_FIELD}}var countriesCombo={xtype:"Application.components.combo",fieldLabel:component["titles"][component.template]["country_iso_nr"]+REQUIRED_FIELD,store:getCountriesStore(),valueField:"iso_nr",hiddenName:component.name+"[country_iso_nr]",displayField:"name",name:component.arrayFields?component.name+"[country_iso_nr]": "country_iso_nr",id:field_ids.country_iso_nr,minChars:2,pageSize:10,hideTrigger:true,forceSelection:true,triggerAction:"all",allowBlank:false,renderer:function(values){return Ext.util.Format.countryFlag(values.alpha2||values.alpha3||values.eng_title)+" "+values.name},listeners:{select:function(cmb,rec,idx){formFields(this.lastSelectionText);for(var i=0;i<component.fieldsToObserve.length;i++){var cmp=Ext.getCmp(field_ids[component.fieldsToObserve[i]]);if(cmp)cmp.destroy()}var oktmo=Ext.getCmp(field_ids["oktmo"]); if(oktmo)oktmo.destroy();formFields(this.lastSelectionText);for(i=0;i<component.fieldsToObserve.length;i++)if(component[component.fieldsToObserve[i]]){var j=i+1;if(component.fieldsToObserve[i]=="index")j--;if(component.fieldsToObserve[i]=="street")j++;component.insert(j,component[component.fieldsToObserve[i]])}component.doLayout()}}};function loadData(values){var cntry=Ext.getCmp(field_ids.country_iso_nr);if(!cntry)return;var loadCallback=function(){cntry.setValue(values.country_iso_nr);cntry.fireEvent("select"); for(var i=0;i<fields.length;i++){if("country"==fields[i])continue;var cmp=Ext.getCmp(field_ids[fields[i]]);if(values[fields[i]]!==undefined&&cmp)cmp.setValue(values[fields[i]])}};if(cntry.store.find("iso_nr",values.country_iso_nr)>=0)loadCallback();else cntry.store.load({callback:loadCallback,params:{query:parseInt(values.country_iso_nr),queryfield:"iso_nr"}})}Ext.apply(this,{defaults:{anchor:"100%",cls:this.itemsCssClass,readOnly:this.readOnly},labelWidth:200,layout:"form",items:[countriesCombo, {xtype:"textfield",name:component.arrayFields?component.name+"[settlement]":"settlement",allowBlank:true,id:field_ids.settlement,ref:"settlement_cmp",fieldLabel:component["titles"][component.template]["settlement"],minLength:2,maxLength:255},{xtype:"textfield",name:component.arrayFields?component.name+"[house]":"house",allowBlank:true,id:field_ids.house,fieldLabel:component["titles"][component.template]["house"]+REQUIRED_FIELD,minLength:1,maxLength:255},{xtype:"textfield",name:component.arrayFields? component.name+"[office]":"office",allowBlank:true,id:field_ids.office,fieldLabel:component["titles"][component.template]["office"],minLength:1,maxLength:255}],loadData:loadData,getValues:function(){var v=this.values||{};if(Ext.isString(v))v={};else if(v.length==0)v={};if(this.address_id)v.id=this.address_id;for(var i=0;i<fields.length;i++){var cmp=Ext.getCmp(field_ids[fields[i]]);if(cmp&&cmp.rendered){var val=cmp.getValue();if(val&&!Ext.isEmpty(val))v[fields[i]]=val;else v[fields[i]]=null}else if(fields[i]== "index")v[fields[i]]=null}return v},setValues:function(v){v.country_iso_nr=v.country_iso_nr||v.country;this.values=v;this.address_id=v.id;if(this.rendered)this.loadData(v);else this.on("afterrender",function(){this.loadData(this.values)},this,{once:true})},isValid:function(){for(var i=0;i<fields.length;i++){var cmp=Ext.getCmp(field_ids[fields[i]]);if(cmp&&cmp.rendered&&cmp.allowBlank===false&&isEmpty(cmp.getValue()))return false}return true}});Application.components.addressPanel.superclass.initComponent.call(this); if(this.values&&this.values.length>0)this.setValues(this.values);else this.values={}},isFieldHidden:function(name){return!!this.hideFields[name]}});Ext.define("Application.components.ApplicationSuppliersFieldset",{extend:"Ext.form.FieldSet",title:"\u0417\u0430\u044f\u0432\u043a\u0430 \u043e\u0442 \u0433\u0440\u0443\u043f\u043f\u044b \u043b\u0438\u0446",name:"application_suppliers",initComponent:function(){var component=this;component.ids=initIds(["suppliers_enable_checkbox","application_suppliers_panel"]);Ext.apply(component,{style:"margin: 5px; padding: 5px",hidden:false,items:[{xtype:"checkbox",hideLabel:true,id:component.ids["suppliers_enable_checkbox"], boxLabel:"\u0417\u0430\u044f\u0432\u043a\u0430 \u043f\u043e\u0434\u0430\u0435\u0442\u0441\u044f \u0433\u0440\u0443\u043f\u043f\u043e\u0439 \u043b\u0438\u0446",name:"enable_application_suppliers",listeners:{check:function(cmp,checked){Ext.getCmp(component.ids["application_suppliers_panel"]).setDisabled(!checked)}}},{xtype:"Application.components.contragentsVisualSelectForm",id:component.ids["application_suppliers_panel"],name:"application_suppliers",showEmailField:false,exclude:[Main.user.contragent_id], disabled:true}]});Application.components.ApplicationSuppliersFieldset.superclass.initComponent.call(this)}});Ext.define("Application.components.autocompleteField",{extend:"Ext.form.ComboBox",hideTrigger:true,emptyText:"",directFn:false,minChars:3,storeNameField:"name",storeValueField:"value",storeDisplayField:false,storeDisplayFieldConvert:false,listTpl:false,storeFields:false,storeRoot:false,queryParams:{},initComponent:function(){var storeDisplayField;if(this.storeDisplayField!==false)if(false===this.storeDisplayFieldConvert)storeDisplayField=this.storeDisplayField;else storeDisplayField={name:this.storeDisplayField, convert:this.storeDisplayFieldConvert};var fields=["id",this.storeNameField,this.storeValueField];if(this.storeFields)fields=fields.concat(this.storeFields);if(storeDisplayField)fields.push(storeDisplayField);var baseParams=Ext.apply({plain:true},this.queryParams);var store=new Ext.data.DirectStore({autoDestroy:true,directFn:this.directFn||RPC.Reference.okvedSearch,totalProperty:"totalCount",root:this.storeRoot||this.storeValueField,remoteSort:true,autoLoad:false,idProperty:"id",fields:fields,baseParams:baseParams}); Ext.apply(this,{store:store,valueField:this.storeValueField,displayField:this.storeDisplayField!=false?this.storeDisplayField:this.storeValueField,mode:"remote",forceSelection:true,itemSelector:"div.search-item",tpl:this.listTpl?this.listTpl:new Ext.XTemplate('<tpl for=".">'+'<div class="search-item {[xindex % 2 === 0 ? "x-even" : "x-odd"]}">'+"<b>{values."+this.storeValueField+"}</b> {values."+this.storeNameField+"}</div>"+"</tpl>")});Application.components.autocompleteField.superclass.initComponent.call(this)}, findRecord:function(prop,v,load){var record;if(v!==undefined&&v!==null){var value=""+v;if(this.store.getCount()>0)this.store.each(function(r){if(r.data[prop]==value){record=r;return false}});if(!record&&(load===undefined||load))this.loadRecord(prop,v)}return record},loadRecord:function(prop,v){var cmp=this;var value=""+v;if(prop===this.valueField&&value.length>=this.minChars&&this.value!==v&&this.isAlreadyFind(value)){var params=this.getParams4Find(prop,value);if(!this.store.loading)this.store.load({params:params, callback:function(){cmp.store.loading=false;cmp.setValue(value);var valueIndex=cmp.getStore().findExact("code",value);if(valueIndex>-1)cmp.fireEvent("select",cmp,cmp.getStore().getAt(valueIndex),valueIndex)}});this.store.loading=true}},isAlreadyFind:function(value){return!this.store.baseParams.query||value.indexOf(this.store.baseParams.query)===-1},getParams4Find:function(prop,v){var params=this.store.baseParams;params.query=v;return params},getValueRecord:function(){var valueRecord=this.getStore().findExact(this.storeValueField, this.getValue());if(valueRecord>-1)return this.getStore().getAt(valueRecord);return null},getValueRecordData:function(){var valueRecord=this.getValueRecord();if(!isEmpty(valueRecord))return valueRecord.data}});Application.components.bankdataPanel=Ext.extend(Ext.Panel,{name:"bank_data",initComponent:function(){var component=this;if(component.numIndex===undefined)component.numIndex=0;Ext.apply(this,{defaults:{anchor:"100%",allowBlank:false,cls:this.itemsCssClass,readOnly:this.readOnly},labelWidth:200,layout:"form",id:"bank_data",items:[{xtype:"textfield",name:"account",vtype:"digits",minLength:13,maxLength:23,fieldLabel:"\u0420\u0430\u0441\u0447\u0435\u0442\u043d\u044b\u0439 \u0441\u0447\u0435\u0442"+REQUIRED_FIELD}, {xtype:"textfield",name:"account_lic",allowBlank:true,fieldLabel:"\u041b\u0438\u0446\u0435\u0432\u043e\u0439 \u0441\u0447\u0435\u0442",minLength:0,maxLength:40},{xtype:"Application.components.bikField",name:"bik",vtype:"digits",minLength:9,maxLength:9,id:"bank_data_bik_"+component.numIndex,fieldLabel:"\u0411\u0418\u041a"+REQUIRED_FIELD,listeners:{select:function(cmp,record){Ext.getCmp("bank_data_account_kor_"+component.numIndex).setValue(record.get("account"));Ext.getCmp("bank_data_bank_"+component.numIndex).setValue(record.get("namep")); Ext.getCmp("bank_data_bank_addr_"+component.numIndex).setValue(record.get("address"))}}},{xtype:"textfield",name:"account_kor",vtype:"digits",minLength:20,maxLength:20,id:"bank_data_account_kor_"+component.numIndex,allowBlank:false,fieldLabel:"\u041a\u043e\u0440\u0440\u0435\u0441\u043f\u043e\u043d\u0434\u0435\u043d\u0442\u0441\u043a\u0438\u0439 \u0441\u0447\u0435\u0442"+REQUIRED_FIELD},{xtype:"textfield",name:"bank",id:"bank_data_bank_"+component.numIndex,fieldLabel:"\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u0430\u043d\u043a\u0430"+ REQUIRED_FIELD},{xtype:"textfield",name:"bank_addr",id:"bank_data_bank_addr_"+component.numIndex,fieldLabel:"\u0410\u0434\u0440\u0435\u0441 \u0431\u0430\u043d\u043a\u0430",allowBlank:true},{xtype:"hidden",name:"entry_id"}],getValues:function(){var v={};collectComponentValues(component,v,true);return v},setValues:function(v){setComponentValues(component,v,false)}});Application.components.bankdataPanel.superclass.initComponent.call(this)}});Ext.define("Application.components.basicLotGrid",{extend:"Ext.grid.GridPanel",initComponent:function(){var component=this;var procedure_id=component.procedure_id;var store=getLotStore(procedure_id);Ext.apply(this,{store:store,columns:[{header:"\u041f\u0440\u0435\u0434\u043c\u0435\u0442 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430",width:200,dataIndex:"subject"},{header:"\u041d\u0430\u0447.\u043c\u0430\u043a\u0441.\u0446\u0435\u043d\u0430",width:70,dataIndex:"start_price"},{header:"\u0420\u0430\u0437\u043c\u0435\u0440 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f", width:70,dataIndex:"guarantee_application"},{header:"\u0417\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0438",dataIndex:"lot_customers",width:300},{header:"\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u0438",xtype:"textactioncolumn",items:[{tooltip:"\u041f\u043e\u0434\u0430\u0442\u044c \u0437\u0430\u044f\u0432\u043a\u0443 \u043d\u0430 \u0443\u0447\u0430\u0441\u0442\u0438\u0435",text:"\u041f\u043e\u0434\u0430\u0442\u044c \u0437\u0430\u044f\u0432\u043a\u0443 \u043d\u0430 \u0443\u0447\u0430\u0441\u0442\u0438\u0435", href:function(value,p,record){return String.format("#com/applic/create/lot/{0}/procedure/"+procedure_id,record.get("id"))}}]}]});Application.components.basicLotGrid.superclass.initComponent.call(this)}});Ext.define("Application.components.bikField",{extend:"Application.components.autocompleteField",emptyText:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0434 \u0438\u043b\u0438 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0437 \u0411\u0418\u041a",initComponent:function(){this.directFn=RPC.Reference.bikSearch;this.storeValueField="bik";this.storeNameField="namep";this.storeRoot="rows";this.storeFields=["namep","bik","tnp","nnp","adr","account","address"]; Application.components.bikField.superclass.initComponent.call(this)}});Application.components.captchaPanel=Ext.extend(Ext.Panel,{hideTitle:true,border:true,layout:"table",layoutConfig:{columns:2},border:false,captchaId:false,captchaUrl:"/index/captchaImage?captcha_id={0}&_dc={1}",captchaCodeId:undefined,captchaCodeName:"captcha_id",codeValueId:undefined,codeValueName:"captcha",initComponent:function(){var component=this;this.addEvents("reload");var waiting_img='<img style="margin-top: 27px;" src="'+IMAGE_LOADING+'" />';Ext.apply(this,{autoHeight:true,defaults:{autoHeight:true, border:false},items:[{style:"text-align: center; width: 182px; margin: 10 auto; padding: 10px 0;",items:[{height:70,html:waiting_img},{html:"<small>\u0415\u0441\u043b\u0438 \u043a\u043e\u0434 \u043d\u0435\u0447\u0438\u0442\u0430\u0435\u043c, \u043a\u043b\u0438\u043a\u043d\u0438\u0442\u0435 \u043d\u0430 \u0435\u0433\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438 \u043b\u0435\u0432\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u043e\u0439 \u043c\u044b\u0448\u0438.</small>"}], listeners:{render:function(){this.addEvents("captchainit");this.addEvents("captchaclick");this.fireEvent("captchainit",this)},captchainit:function(){var cmp=this;RPC.Index.captcha(function(result){if(component.isDestroyed||component.destroying)return;if(result.success){component.captchaId=result.message;component.getComponent(1).getComponent(1).setValue(component.captchaId);cmp.getEl().on("click",function(){cmp.fireEvent("captchaclick",cmp)});cmp.fireEvent("captchaclick",cmp)}else cmp.fireEvent.defer(5E3, cmp,["captchainit",cmp])})},captchaclick:function(){var ts=(new Date).getTime();var imgurl=String.format(component.captchaUrl,component.captchaId,ts);var capimg=new Image;capimg.src=imgurl;var imgcmp=this.getComponent(0);imgcmp.update(waiting_img);capimg.onload=function(){imgcmp.update('<img src="'+imgurl+'"/>')}}}},{layout:"form",items:[{xtype:"textfield",name:this.codeValueName,id:this.codeValueId,style:"margin-top: 5px;",anchor:"100%",fieldLabel:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0434, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435"+ REQUIRED_FIELD,allowBlank:false,msgTarget:this.msgTarget,blankText:"\u041f\u043e\u043b\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f"},{xtype:"textfield",name:this.captchaCodeName,id:this.captchaCodeId,inputType:"hidden",value:this.captchaId}]}]});Application.components.captchaPanel.superclass.initComponent.call(this);this.on("reload",function(){var cmp=this.getComponent(0);cmp.fireEvent("captchainit", cmp)})}});Application.components.CountriesCheckboxCombo=Ext.extend(Ext.ux.form.CheckboxCombo,{valueField:"iso_nr",displayField:"name",minChars:2,pageSize:10,minListWidth:150,allowBlank:true,tpl:"{flag} {name}",initComponent:function(){var me=this;if(!me.store)me.store=getCountriesStore(true,"Countries_all");Ext.apply(me,{triggerAction:"none",mode:"local"});Application.components.CountriesCheckboxCombo.superclass.initComponent.call(this)},addCheckboxes:function(){Ext.each(this.store.data.items,function(rec){if(rec.data.alpha2|| rec.data.alpha3||rec.data.eng_title)rec.data.flag=Ext.util.Format.countryFlag(rec.data.alpha2||rec.data.alpha3||rec.data.eng_title)});return Ext.ux.form.CheckboxCombo.prototype.addCheckboxes.call(this)},findRecord:function(prop,value){var record;if(this.store.getCount()>0){record=this.store.getAt(this.store.find(prop,value));return record?record:false}}});Ext.define("Application.components.cmpDataPanel",{extend:"Ext.form.FieldSet",title:"\u0421\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e \u0437\u0430\u044f\u0432\u0438\u0442\u0435\u043b\u0435",autoHeight:true,initComponent:function(){var component=this;Ext.apply(this,{labelWidth:300,layout:"form",defaults:{anchor:"100%",defaults:{border:false,anchor:"100%",allowBlank:false}},items:[{xtype:"label",name:"full_name",readOnly:true,style:"background: transparent; border: none;",html:component.cmpData.full_name, height:"auto",fieldLabel:"\u041f\u043e\u043b\u043d\u043e\u0435 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438"},{xtype:"textfield",readOnly:true,name:"inn",style:"background: transparent; border: none;",value:component.cmpData.inn,fieldLabel:"\u0418\u041d\u041d"},{xtype:"textfield",readOnly:true,name:"kpp",style:"background: transparent; border: none;",value:component.cmpData.kpp,fieldLabel:"\u041a\u041f\u041f"}, {xtype:"label",readOnly:true,name:"legal_address",style:"background: transparent; border: none;",height:"auto",html:component.cmpData.legal_address,fieldLabel:"\u042e\u0440\u0438\u0434\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u0434\u0440\u0435\u0441"},{xtype:"label",readOnly:true,name:"postal_address",style:"background: transparent; border: none;",height:"auto",html:component.cmpData.postal_address,fieldLabel:"\u041f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0430\u0434\u0440\u0435\u0441"}, {xtype:this.noneditable?"textfield":"Application.components.phonePanel",noneditable:this.noneditable,readOnly:this.noneditable?true:false,style:this.noneditable?"background: transparent; border: none;":"",name:"phone",id:"phone",value:component.cmpData.phone,allowBlank:true,fieldLabel:"\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d"},{xtype:"hidden",name:"contragent_id",value:component.cmpData.id}]});Application.components.cmpDataPanel.superclass.initComponent.call(this)}});Ext.define("Application.components.cmpDataView",{extend:"Ext.form.FieldSet",title:"\u0421\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e \u0437\u0430\u044f\u0432\u0438\u0442\u0435\u043b\u0435",autoHeight:true,initComponent:function(){var component=this;Ext.apply(this,{labelWidth:300,layout:"form",defaults:{anchor:"100%",style:"background: transparent; border: none;",allowBlank:false,defaults:{allowBlank:false,style:"background: transparent; border: none;"}},items:[{xtype:"label",name:"full_name", readOnly:true,html:component.cmpData.full_name,fieldLabel:"\u041f\u043e\u043b\u043d\u043e\u0435 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438"},{xtype:"textfield",readOnly:true,name:"inn",value:component.cmpData.inn,fieldLabel:"\u0418\u041d\u041d"},{xtype:"label",readOnly:true,name:"legal_address",html:component.cmpData.legal_address,fieldLabel:"\u042e\u0440\u0438\u0434\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u0434\u0440\u0435\u0441"}, {xtype:"label",readOnly:true,name:"postal_address",html:component.cmpData.postal_address,fieldLabel:"\u041f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0430\u0434\u0440\u0435\u0441"},{xtype:"textfield",name:"phone",readOnly:true,id:"phone",value:"+"+component.cmpData.phone,hidden:!component.cmpData.phone?true:false,fieldLabel:"\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d"},{xtype:"hidden",name:"contragent_id",value:component.cmpData.id}]}); Application.components.cmpDataView.superclass.initComponent.call(this)}});Ext.define("Application.components.cmpDataViewExt",{extend:"Ext.form.FieldSet",title:"\u0421\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e \u0437\u0430\u044f\u0432\u0438\u0442\u0435\u043b\u0435",autoHeight:true,cmpData:[],initComponent:function(){var component=this;Ext.apply(this,{labelWidth:300,layout:"form",items:[{xtype:"Application.components.keyValue2Panel",ref:"keyValuesCmp",border:false,margin:0,padding:0,style:"margin: 0; padding: 0",fields:{full_name:"\u041f\u043e\u043b\u043d\u043e\u0435 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438:", inn:"\u0418\u041d\u041d:",kpp:"\u041a\u041f\u041f:",legal_address:"\u042e\u0440\u0438\u0434\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u0434\u0440\u0435\u0441:",postal_address:"\u041f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0430\u0434\u0440\u0435\u0441:",phone:"\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d:"},templates:{full_name:new Ext.XTemplate('<a href="/#company/view/id/{id}/withProcuracyFiles/1" class="black-dashed" title="\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u043f\u0440\u043e\u0444\u0438\u043b\u044c \u043a\u043e\u043d\u0442\u0440\u0430\u0433\u0435\u043d\u0442\u0430"><tpl if="full_name!==undefined">{full_name}</tpl></a>')}}, {xtype:"hidden",name:"full_name",value:component.cmpData.full_name},{xtype:"hidden",name:"inn",value:component.cmpData.inn},{xtype:"hidden",name:"legal_address",value:component.cmpData.legal_address},{xtype:"hidden",name:"postal_address",value:component.cmpData.postal_address},{xtype:"hidden",name:"phone",id:"phone",value:"+"+component.cmpData.phone},{xtype:"hidden",name:"contragent_id",value:component.cmpData.id}],listeners:{beforerender:component.onBeforerender}});Application.components.cmpDataView.superclass.initComponent.call(this)}, onBeforerender:function(){var component=this;if(!isEmpty(component.cmpData))component.setValues(component.cmpData)},setValues:function(data){var me=this;me.cmpData=data;me.keyValuesCmp.setValues(data)}});Application.components.combo=Ext.extend(Ext.form.ComboBox,{disabledCssClass:"x-combo-list-item-unsel",hiddenCssClass:"x-hidden",tooltipTpl:false,initComponent:function(){var disabled_tpl="",hidden_tpl="";var display_tpl=this.displayField;var tpl_params={compiled:true};if(this.disabledField)disabled_tpl='<tpl if="'+this.disabledField+'"> '+this.disabledCssClass+"</tpl>";if(this.hiddenRecordField)hidden_tpl='<tpl if="'+this.hiddenRecordField+'"> '+this.hiddenCssClass+"</tpl>";if(this.renderer){display_tpl= "[this.rendererFn(values)]";tpl_params.rendererFn=this.renderer}var tip=" ";if(this.tooltipTpl)tip+='ext:qtip="'+this.tooltipTpl+'" ';this.tpl=new Ext.XTemplate('<tpl for=".">'+"<div"+tip+'class="x-combo-list-item'+disabled_tpl+hidden_tpl+'">'+"{"+display_tpl+"}</div>"+"</tpl>",tpl_params);Application.components.combo.superclass.initComponent.call(this);if(this.disabledField)this.on("beforeselect",function(combo,record){if(record.data[combo.disabledField])return false;return true});if(this.hiddenRecordField)this.on("beforeselect", function(combo,record){if(record.data[combo.hiddenRecordField])return false;return true})}});Application.components.CountriesCombo=Ext.extend(Application.components.combo,{valueField:"iso_nr",displayField:"name",minChars:2,pageSize:10,minListWidth:150,allowBlank:true,initComponent:function(){var me=this;if(!me.store)me.store=getCountriesStore(true,"Countries_all");Ext.apply(me,{mode:"local",triggerAction:"all",hideTrigger:false,forceSelection:true,renderer:function(values){return Ext.util.Format.countryFlag(values.alpha2||values.alpha3||values.eng_title)+" "+values.name}});Application.components.CountriesCombo.superclass.initComponent.call(this)}});Application.components.CurrencyCombo=Ext.extend(Application.components.combo,{valueField:"id",displayField:"description",name:"currency",hiddenName:"currency_val",store:null,initComponent:function(){var me=this;if(!me.store)me.store=getCurrencyStore();Ext.apply(me,{mode:"local",editable:false,triggerAction:"all",renderer:function(values){return Ext.util.Format.countryFlag(values.alpha2||values.alpha3||values.name.substr(0,2))+" "+values.description+" ("+values.name+")"}});Application.components.CurrencyCombo.superclass.initComponent.call(this)}});Application.components.comboValued=Ext.extend(Application.components.combo,{initComponent:function(){var me=this;Application.components.comboValued.superclass.initComponent.call(me);if(me.getStore().loaded)this.ensureComboValue();else me.getStore().on("load",me.ensureComboValue,me)},ensureComboValue:function(){if(!!this.defaultValue)this.setValue(this.defaultValue);this.getStore().un("load")}});/* (c) 2011, by Rob Boerman @date 20. May 2011 @version 1.0 Example: var userCombo = new Ext.ComboBox({ id: 'myCombo', valueField:'id', displayField:'name', store: ... }); We need a unique id for the grid, either create one yourself or let Ext create it for you var gridId = Ext.id(); Create the grid var todoGrid = new Ext.grid.EditorGridPanel({ store: myStore, id: gridId, // Be sure to include the grid id cm: new Ext.grid.ColumnModel({ columns: [{ id: 'todo', header: 'Todo', dataIndex: 'todo' },{ id: 'owner', width: 150, header: 'Assignee', dataIndex: 'owner', xtype: 'combocolumn', // Use the custom column or use the column's render manually editor: userCombo, // The custom column needs a ComboBox editor to be able to render the displayValue, without it just renders value gridId: gridId // Don't forget to specify the grid's id, the columns renderer needs it }] }), clicksToEdit: 1 }); @license Ext.ux.grid.ComboColumn is licensed under the terms of the Open Source LGPL 3.0 license. Commercial use is permitted to the extent that the code/component(s) do NOT become part of another Open Source or Commercially licensed development library or toolkit without explicit permission. License details: <a href="http://www.gnu.org/licenses/lgpl.html" target="_blank">http://www.gnu.org/licenses/lgpl.html</a> */ Ext.ns("Ext.ux.renderer","Ext.ux.grid");Ext.ux.grid.ComboColumn=Ext.extend(Ext.grid.Column,{gridId:undefined,constructor:function(cfg){Ext.ux.grid.ComboColumn.superclass.constructor.call(this,cfg);this.renderer=this.editor&&this.editor.triggerAction?Ext.ux.renderer.ComboBoxRenderer(this.editor,this.gridId):function(value){return value}}});Ext.grid.Column.types["combocolumn"]=Ext.ux.grid.ComboColumn; Ext.ux.renderer.ComboBoxRenderer=function(combo,gridId){var getValue=function(value){var idx=combo.store.find(combo.valueField,value);var rec=combo.store.getAt(idx);if(rec)return rec.get(combo.displayField);return value};return function(value){if(combo.store.getCount()==0&&gridId){combo.store.on("load",function(){var grid=Ext.getCmp(gridId);if(grid)grid.getView().refresh()},{single:true});return value}return getValue(value)}};Ext.define("Application.components.companyHistoryPanel",{extend:"Ext.grid.GridPanel",initComponent:function(){var component=this;var company_id=component.company_id;var store=getCompanyHistoryStore(company_id);Ext.apply(this,{store:store,columns:[{header:"\u0417\u0430\u043f\u0438\u0441\u044c",width:150,renderer:function(v,m,r){if(r["data"]["record_data"]["username"]!=undefined)return r["data"]["record_data"]["username"]+" ("+r["data"]["record_data"]["last_name"]+" "+r["data"]["record_data"]["first_name"]+ " "+r["data"]["record_data"]["middle_name"]+")";else if(r["data"]["record_name"]!=undefined&&r["data"]["record_name"])return r["data"]["record_name"];else if(r["data"]["record_data"]["address_type"]!=undefined)if(r["data"]["record_data"]["address_type"]==1)return"\u042e\u0440\u0438\u0434\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u0434\u0440\u0435\u0441";else return"\u0424\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u0434\u0440\u0435\u0441";else if(r["data"]["record_data"]["eds_resolved"]!= undefined)return"\u0410\u043a\u043a\u0440\u0435\u0434\u0438\u0442\u0430\u0446\u0438\u044f";else if(r["data"]["record_data"]["full_name"]!=undefined)return r["data"]["record_data"]["full_name"]}},{header:"\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c",width:150,renderer:function(v,m,r){if(r["data"]["user"]["username"]!=undefined)return r["data"]["user"]["username"]+" ("+r["data"]["user"]["last_name"]+" "+r["data"]["user"]["first_name"]+" "+r["data"]["user"]["middle_name"]+ ")";else return""}},{header:"\u0414\u0430\u0442\u0430 \u0432\u043d\u0435\u0441\u0435\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439",width:150,renderer:Ext.util.Format.dateRenderer("d.m.Y H:i"),dataIndex:"date"},{header:"\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430",width:380,dataIndex:"field"},{header:"\u0421\u0442\u0430\u0440\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435", dataIndex:"from",renderer:function(v,m,r){if(!Main.config.show_gmt)if(r["data"]["field"]=="\u0414\u0430\u0442\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438"||r["data"]["field"]=="\u0414\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043c\u044f \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u043f\u043e\u0434\u0430\u0447\u0438 \u0437\u0430\u044f\u0432\u043e\u043a \u043d\u0430 \u0443\u0447\u0430\u0441\u0442\u0438\u0435")if(r["data"]["from"]!="\u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e")v= Ext.util.Format.substr(v,0,19);return v},width:200},{header:"\u041d\u043e\u0432\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435",dataIndex:"to",renderer:function(v,m,r){if(!Main.config.show_gmt)if(r["data"]["field"]=="\u0414\u0430\u0442\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438"||r["data"]["field"]=="\u0414\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043c\u044f \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u043f\u043e\u0434\u0430\u0447\u0438 \u0437\u0430\u044f\u0432\u043e\u043a \u043d\u0430 \u0443\u0447\u0430\u0441\u0442\u0438\u0435")if(r["data"]["date"]!= "\u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e")v=Ext.util.Format.substr(v,0,19);return v},width:200}],bbar:renderPagingToolbar("\u0417\u0430\u043f\u0438\u0441\u0438",store,25,[renderStoreDownloadButton(store,"/company/history",0)]),viewConfig:{forceFit:true}});Application.components.companyHistoryPanel.superclass.initComponent.call(this)}});Ext.define("Application.components.ContractNumberPanel",{extend:"Ext.panel.Panel",value:null,contractInfo:null,editable:false,msgText:"\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u043d\u043e\u043c\u0435\u0440 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430",initComponent:function(){var component=this;component.ids=initIds(["change_button_id","add_button_id","textedit_id","label_id"]);component.addEvents("showEdit","updateValue");Ext.apply(component,{layout:"hbox",layoutConfig:{defaultMargins:{top:0, right:10,bottom:0,left:0}},items:[{xtype:"label",value:component.value,style:"padding-top:4px",id:component.ids["label_id"]},{xtype:"button",id:component.ids["change_button_id"],hidden:true,text:"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c",handler:function(){component.fireEvent("showEdit")}},{xtype:"button",id:component.ids["add_button_id"],hidden:true,text:"\u0423\u043a\u0430\u0437\u0430\u0442\u044c \u043d\u043e\u043c\u0435\u0440",handler:function(){component.fireEvent("showEdit")}}],listeners:{updateValue:function(newValue){performRPCCall(RPC.Contract.assignContractNumber, [{contract_id:component["contractInfo"]["id"],contract_number:newValue}],[],function(resp){echoResponseMessage(resp);if(!!resp.success){component.value=newValue;component.fireEvent("render");component.doLayout()}})},showEdit:function(){Ext.MessageBox.prompt("\u041d\u0430\u0437\u043d\u0430\u0447\u0438\u0442\u044c \u043d\u043e\u043c\u0435\u0440",component.msgText+":",function(btn,value){if(btn=="ok")component.fireEvent("updateValue",value)},component,false,component.value)},render:function(){var has_value= !isEmpty(component.value);var changable=has_value;if(component.contractInfo["customer_id"]==Main.contragent.id){Ext.getCmp(component.ids["change_button_id"]).setVisible(changable);Ext.getCmp(component.ids["add_button_id"]).setVisible(!has_value)}if(has_value)Ext.getCmp(component.ids["label_id"]).setText(component.value);else Ext.getCmp(component.ids["label_id"]).setText("\u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d")}}});Application.components.ContractNumberPanel.superclass.initComponent.call(this)}});Ext.define("Application.components.dateField",{extend:"Ext.form.DateField",enableDateRange:function(rangeStart,rangeEnd){if(!rangeStart||rangeStart==null)rangeStart=new Date;this.setMinValue(rangeStart);if(Main.config.date_disabling&&rangeEnd&&rangeEnd!=null)this.setMaxValue(rangeEnd)},makeDateDisabling:function(dt,fld,settings){if(!settings)return;var basic_dt=new Date;if(dt)basic_dt=parseDate(dt);var move_date_number=Main.config.move_date_number==undefined?1:Main.config.move_date_number;var minValue; if(Main.config.allow_same_date_enabling)minValue=basic_dt;else minValue=basic_dt.add(Date.DAY,move_date_number);var maxValue=null;if(settings[fld+"_from"]&&settings[fld+"_from"]!=""&&Main.config.date_disabling)minValue=basic_dt.add(Date.DAY,move_date_number+settings[fld+"_from"]);if(settings[fld+"_to"]&&settings[fld+"_to"]!=""&&Main.config.date_disabling)maxValue=basic_dt.add(Date.DAY,move_date_number+settings[fld+"_to"]);this.enableDateRange(minValue,maxValue)},setValue:function(date){if(!Ext.isDate(date))date= parseDate(date)||date;Application.components.dateField.superclass.setValue.call(this,date)}});Ext.define("Application.components.datetimeField",{extend:"Ext.form.CompositeField",initComponent:function(){var me=this;me.addEvents("select");Ext.apply(me,{items:[{xtype:"Application.components.dateField",altFormats:"c|d.m.Y H:i:s|d.m.Y H:i",name:this.name+"_date",format:"d.m.Y",width:90,ref:"dateField",listeners:{select:function(cmp,value){me.fireEvent("select",me,value)}}},{html:" "},{xtype:"timefield",name:this.name+"_time",format:"H:i",width:60,ref:"timeField"}]});Application.components.datetimeField.superclass.initComponent.call(this)}, setMinValue:function(date){this.dateField.setMinValue(date)},setMaxValue:function(date){this.dateField.setMaxValue(date)},getValue:function(){var v=null;var date_value=this.dateField.getValue();if(date_value){var time_value=this.timeField.getValue();var date_obj=parseDate(date_value);if(time_value&&!Ext.isEmpty(time_value)){var time=time_value.split(":");date_obj.setHours(time[0]);date_obj.setMinutes(time[1])}else{date_obj.setHours(0);date_obj.setMinutes(0)}date_obj.setSeconds(0);date_obj.setMilliseconds(0); v=date_obj.format("c")}return v},setValue:function(v){var dt=parseDate(v);this.dateField.setValue(dt);this.timeField.setValue(dt)}});Ext.define("Application.components.decisionsDialog",{extend:"Ext.Window",width:550,modal:true,autoHeight:true,layout:"fit",closable:false,bodyStyle:"padding: 10px",notification:null,initComponent:function(){var component=this;component.ids=initIds(["reminder_checkbox_cmp"]);var decision=component.notification;var buttons=[];if(!decision.only_once&&decision.buttons==1)buttons.push({xtype:"checkbox",boxLabel:"\u0411\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0442\u044c", id:component.ids["reminder_checkbox_cmp"]});buttons.push("->");var makeDecision=function(accept){if(!!decision["require_eds"])if(accept&&isEmpty(decision.accept_message)||!accept&&isEmpty(decision.decline_message)){var items=[{uuid:decision["uuid"],action:!!accept?"accept":"decline"}];CryptoApi.signMessage({message:items[0].action},function(signature){items["signature"]=signature;performRPCCall(RPC[decision["handler_controller"]][decision["handler_action"]],items,{waiter:false},function(resp){Main.app.fireEvent("accept_decision", decision["uuid"])})})}else{var items=[{xtype:"hidden",name:"uuid",value:decision.uuid},{xtype:"hidden",name:"action",value:!!accept?"accept":"decline"}];var win=new Application.components.promptWindow({title:accept?"\u041e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043d\u044f\u0442\u0438\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f":"\u041e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0442\u043a\u0430\u0437\u0430 \u043f\u0440\u0438\u043d\u044f\u0442\u0438\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f", cmpType:"Application.components.SignatureForm",parentCmp:this,cmpParams:{api:RPC[decision["handler_controller"]][decision["handler_action"]],signatureText:(new Ext.XTemplate(accept?decision.accept_message:decision.decline_message)).applyTemplate({user_full_name:Main.user.full_name}),signatureTextHeight:250,useFormHandler:false,items:items,success_fn:function(resp){Main.app.fireEvent("accept_decision",decision["uuid"]);win.close()}}});win.show()}else{var items=[{uuid:decision["uuid"],action:!!accept? "accept":"decline"}];performRPCCall(RPC[decision["handler_controller"]][decision["handler_action"]],items,{waiter:false},function(resp){Main.app.fireEvent("accept_decision",decision["uuid"])})}};if(decision.buttons==1)buttons.push({text:"\u0417\u0430\u043a\u0440\u044b\u0442\u044c",handler:function(){var reminder_checkbox=Ext.getCmp(component.ids["reminder_checkbox_cmp"]);if(!reminder_checkbox||reminder_checkbox.getValue())performRPCCall(RPC[decision["handler_controller"]][decision["handler_action"]], [{uuid:decision["uuid"],action:"accept"}],{mask:false},function(resp){Main.app.fireEvent("accept_decision",decision.uuid)});component.close()}});else if(decision.buttons==2){component.closable=true;buttons.push({text:"\u041f\u0440\u0438\u043d\u044f\u0442\u044c",handler:function(){makeDecision(true);component.close()}});buttons.push({text:"\u041e\u0442\u043a\u043b\u043e\u043d\u0438\u0442\u044c",handler:function(btn){makeDecision(false);component.close()}})}Ext.apply(component,{title:component.title|| "\u0412\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435",items:[{xtype:"label",style:"font-size: 1.1em",html:"<b>\u0422\u0435\u043c\u0430:</b><br />"+decision["title"]+"<br /><br /><b>\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435:</b><br />"+decision["message"]}],buttonAlign:"left",buttons:buttons});Application.components.decisionsDialog.superclass.initComponent.call(this)}});Ext.define("Application.components.digitalPoaFormPanel",{extend:"Ext.panel.Panel",cmptype:null,name:"digitalpoa_guid",initComponent:function(){var me=this;me.addEvents("loaded");Ext.apply(me,{items:[{xtype:"hidden",ref:"hiddenCmp",name:me.name||"digitalpoa_guid"},{xtype:"fieldset",ref:"digitalPoaInfoFieldset",hidden:true,title:"\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u0439 \u041c\u0427\u0414",items:[{xtype:"Application.components.DigitalPoaInfoPanel", ref:"../digitalPoaInfoPanel"}]},{xtype:"fieldset",ref:"digitalPoaUploadFieldset",collapsible:true,title:"\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0444\u0430\u0439\u043b\u0430 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438",items:[{xtype:"Application.components.DigitalPoaUploadPanel",name:"digital_poa",cmptype:me.cmptype,listeners:{uploaded:function(cmp,resp){echoResponseMessage(resp,function(){me.fireEvent("loaded",me,resp["data"])})}}}]}],listeners:{loaded:function(cmp, data){me.digitalPoaUploadFieldset.collapse();me.digitalPoaInfoFieldset.show();me.digitalPoaInfoPanel.setValues(data);me.hiddenCmp.setValue(data["guid"])}}});Application.components.digitalPoaFormPanel.superclass.initComponent.call(this)}});Ext.define("Application.components.DigitalPoaInfoPanel",{extend:"Ext.panel.Panel",autoScroll:true,border:false,expanded:true,padding:5,values:{},getValues:function(){return this.values},initComponent:function(){var me=this;Ext.apply(me,{items:[{xtype:"Application.components.keyValue2Panel",title:"\u041e\u0431\u0449\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f",ref:"commonCmp",fields:{guid:"\u041d\u043e\u043c\u0435\u0440 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438", internal_number:"\u0412\u043d. \u043d\u043e\u043c\u0435\u0440 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438",internal_date:"\u0412\u043d. \u0434\u0430\u0442\u0430 \u0432\u044b\u0434\u0430\u0447\u0438",issued_at:"\u0414\u0430\u0442\u0430 \u0432\u044b\u0434\u0430\u0447\u0438",issued_till:"\u0414\u0430\u0442\u0430 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f",poaLink:"\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u041c\u0427\u0414"},templates:{no_revokeno_revoke:new Ext.XTemplate('<tpl if="no_revokeno_revoke">\u0431\u0435\u0437\u043e\u0442\u0437\u044b\u0432\u043d\u0430\u044f \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c</tpl>')}}, {xtype:"Application.components.keyValue2Panel",title:"\u0414\u043e\u0432\u0435\u0440\u0438\u0442\u0435\u043b\u044c",collapsible:true,collapsed:!me.expanded,ref:"issueCmp",fields:{type:"\u0422\u0438\u043f \u0434\u043e\u0432\u0435\u0440\u0438\u0442\u0435\u043b\u044f",fullname:"\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435",inn:"\u0418\u041d\u041d",kpp:"\u041a\u041f\u041f",fio:"\u0424\u0430\u043c\u0438\u043b\u0438\u044f, \u0438\u043c\u044f \u0438 \u043e\u0442\u0447\u0435\u0441\u0442\u0432\u043e", position:"\u0414\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c",document:"\u041e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u043b\u043d\u043e\u043c\u043e\u0447\u0438\u0439"}},{xtype:"Application.components.keyValue2Panel",title:"\u0414\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0435 \u043b\u0438\u0446\u043e",collapsible:true,collapsed:!me.expanded,ref:"ownerCmp",fields:{fio:"\u0424\u0430\u043c\u0438\u043b\u0438\u044f, \u0438\u043c\u044f \u0438 \u043e\u0442\u0447\u0435\u0441\u0442\u0432\u043e", inn:"\u0418\u041d\u041d",snils:"\u0421\u041d\u0418\u041b\u0421"}},{xtype:"Application.components.DigitalPoaPermissionsInfoPanel",collapsed:false,collapsed:!me.expanded,ref:"permissionsCmp"},{xtype:"Application.components.FilelistFieldset",collapsible:true,collapsed:!me.expanded,title:"\u0424\u0430\u0439\u043b\u044b",ref:"filesCmp",withHash:false}],listeners:{afterrender:function(){if(!isEmpty(me.values))me.setValues(me.values)}}});Application.components.DigitalPoaInfoPanel.superclass.initComponent.call(this)}, setValues:function(data){var me=this;me.values=data;var fileItems=[];if(data.guid)data.poaLink='<a href="'+data.check_url+'" target="_blank">'+data.check_url+"</a>";me.commonCmp.setValues(data);me.issueCmp.setValues(me.formatFio(Object.assign({},data["issue"],data["issue"]["person"],data["issue"]["powerperson"],data["issue"]["company"])));me.ownerCmp.setValues(me.formatFio(Object.assign({},data["owner"],data["owner"]["person"])));me.permissionsCmp.setValues(data["permissions"]||[]);fileItems.push({subheader:"\u0424\u0430\u0439\u043b \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 .xml"+ ":"});fileItems.push(data["files"]["xml"]);fileItems.push({subheader:"\u0424\u0430\u0439\u043b \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 .sig, .p7s, .sgn"+":"});fileItems.push(data["files"]["sig"]);me.filesCmp.removeAllFiles();me.filesCmp.setValues(fileItems||[])},formatFio:function(data){data.fio=data.surname+" "+data.name+" "+data.middlename;return data}});Ext.define("Application.components.DigitalPoaPermissionsInfoPanel",{extend:"Ext.form.FieldSet",title:"\u041f\u043e\u043b\u043d\u043e\u043c\u043e\u0447\u0438\u044f",collapsible:true,values:{},getValues:function(){return this.values},initComponent:function(){var me=this;Ext.apply(me,{items:[],listeners:{afterrender:function(){if(!isEmpty(me.values))me.setValues(me.values)}}});Application.components.DigitalPoaPermissionsInfoPanel.superclass.initComponent.call(this)},setValues:function(data){var me=this; me.values=data;me.removeAll();Ext.iterate(data,function(item){me.add({xtype:"Application.components.keyValue2Panel",fields:{code:"\u041a\u043e\u0434",description:"\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435"},values:item})});me.doLayout()}});Ext.define("Application.components.DigitalPoaSelectFieldset",{extend:"Ext.form.FieldSet",title:"\u0414\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u041c\u0427\u0414"+REQUIRED_FIELD,padding:0,editable:true,value:null,selectButtonId:null,hideDeleteButton:false,getSelectButton:function(){return Ext.getCmp(this.selectButtonId)},getValues:function(){return this.value},initComponent:function(){var me=this;me.selectButtonId=Ext.id();me.addEvents("selected","clear");Ext.apply(me,{items:[{xtype:"container", ref:"viewCmp"}],buttonAlign:"center",buttons:[me.createSelectButton(me.selectButtonId)],listeners:{clear:function(){me.value=null;me.viewCmp.removeAll();me.getSelectButton().show();me.viewCmp.doLayout()},render:function(){if(me.value)me.fireEvent("selected",me,me.value)},selected:function(cmp,id){performRPCCall(RPC.Digitalpoa.load,[{id:id}],[],function(resp){if(!resp.success)return;me.viewCmp.removeAll();me.viewCmp.add({xtype:"panel",hidden:!me.editable,padding:0,layout:"hbox",layoutConfig:{padding:0, pack:"end",align:"middle"},items:[{xtype:"Application.components.linkButton",text:"\u0423\u0434\u0430\u043b\u0438\u0442\u044c",hidden:me.hideDeleteButton,listeners:{click:function(){me.fireEvent("clear")}}}],style:"padding: 0; margin: 0"});me.viewCmp.add({xtype:"Application.components.DigitalPoaShortInfoPanel",padding:0,expanded:false,values:resp.data});me.value=id;me.getSelectButton().hide();me.viewCmp.doLayout()})}}});Application.components.DigitalPoaSelectFieldset.superclass.initComponent.call(this)}, createSelectButton:function(id){var me=this;return{text:"\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c...",hidden:!me.editable,id:id,handler:function(){var dlg=new Ext.Window({modal:true,width:600,height:300,closable:true,title:"\u0412\u044b\u0431\u043e\u0440 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438",layout:"fit",items:[{xtype:"Application.components.DigitalPoaSelectGrid",ref:"grid",listeners:{dblclick:function(){var row= dlg.grid.getSelectionModel().getSelected();if(!row)return;dlg.close();me.fireEvent("selected",me,row.get("id"))}}}],buttonAlign:"left",buttons:[{xtype:"Application.components.linkButton",text:"\u0420\u0435\u0435\u0441\u0442\u0440 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439",style:"text-decoration: none; border-bottom: 1px dashed; cursor: pointer; white-space: nowrap; font-size: 1.1em !important; background: transparent;",handler:function(){Ext.Msg.confirm("\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435", "\u041f\u0435\u0440\u0435\u0434 \u0442\u0435\u043c, \u043a\u0430\u043a \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u0440\u0435\u0435\u0441\u0442\u0440 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u043b\u0438 \u0444\u043e\u0440\u043c\u0443 \u0430\u043a\u043a\u0440\u0435\u0434\u0438\u0442\u0430\u0446\u0438\u0438",function(b){if("yes"==b){dlg.close(); redirect_to("#user/digitalpoas")}})}},"->",{text:"\u0412\u044b\u0431\u0440\u0430\u0442\u044c",handler:function(){dlg.grid.fireEvent("dblclick")}},{text:"\u041e\u0442\u043c\u0435\u043d\u0430",handler:function(){dlg.close()}}]});dlg.show()}}},setValues:function(value){var me=this;me.fireEvent("selected",me,value)}});Ext.define("Application.components.DigitalPoaSelectGrid",{extend:"Ext.grid.Panel",user_id:null,initComponent:function(){var component=this;var store=createDigitalPoasStore(Main.user.id);var sm=new Ext.grid.CheckboxSelectionModel({singleSelect:true,header:"#",checkonly:true});Ext.apply(this,{store:store,sm:sm,columns:[sm,{header:"\u041d\u043e\u043c\u0435\u0440 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438",dataIndex:"guid",width:70,sortable:true},{header:"\u0412\u043d. \u043d\u043e\u043c\u0435\u0440 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438", dataIndex:"internal_number",width:20,sortable:true},{header:"\u0414\u0430\u0442\u0430 \u0432\u044b\u0434\u0430\u0447\u0438",dataIndex:"issued_at",renderer:Ext.util.Format.dateRenderer("d.m.Y"),width:30,sortable:true},{header:"\u0414\u0430\u0442\u0430 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f",dataIndex:"issued_till",renderer:Ext.util.Format.dateRenderer("d.m.Y"),width:30,sortable:true}],viewConfig:{forceFit:true,deferEmptyText:false,emptyText:"\u041d\u0435\u0442 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f"}, bbar:new Ext.PagingToolbar({pageSize:50,store:store,displayInfo:true,displayMsg:"\u0414\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438 {0} - {1} \u0438\u0437 {2}",emptyMsg:"\u0421\u043f\u0438\u0441\u043e\u043a \u043f\u0443\u0441\u0442"}),tbar:{xtype:"Application.components.searchToolbar",eventTarget:this,searchHelp:"\u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u043f\u043e\u0438\u0441\u043a \u043f\u043e \u043d\u043e\u043c\u0435\u0440\u0443 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438"}, loadMask:true,listeners:{render:function(){component.fireEvent("search")},search:function(query,search_params){store.setBaseParam("start",0);store.setBaseParam("limit",50);if(query){if(Ext.isString(query))store.setBaseParam("query",query)}else store.setBaseParam("query",null);if(search_params)for(var sp in search_params){if(!search_params.hasOwnProperty(sp))continue;store.setBaseParam(sp,search_params[sp])}component.el.mask("\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430...","x-mask-loading");store.load({callback:function(){component.el.unmask()}})}}, getAt:function(rowIndex){return this.getStore().getAt(rowIndex)}});Application.components.DigitalPoaSelectGrid.superclass.initComponent.call(this)}});Ext.define("Application.components.DigitalPoaShortInfoPanel",{extend:"Ext.panel.Panel",autoScroll:true,border:false,expanded:true,padding:5,values:{},getValues:function(){return this.values},initComponent:function(){var me=this;Ext.apply(me,{items:[{xtype:"fieldset",ref:"digitalPoaFieldsetCmp",title:"\u0414\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c",items:[{layout:"hbox",layoutConfig:{align:"top"},items:[{xtype:"Application.components.FilelistContainer",ref:"../../filesCmp", flex:1,withHash:false},{xtype:"button",text:"\u0414\u0435\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f",with:"30",handler:function(){var win=new Ext.Window({autoHeight:true,width:600,closeAction:"close",modal:true,title:"\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438",items:[{xtype:"Application.components.DigitalPoaInfoPanel",frame:true,values:me.values}], buttons:[{text:"\u0417\u0430\u043a\u0440\u044b\u0442\u044c",handler:function(){win.close()}}]});win.show()}}]}]}],listeners:{afterrender:function(){if(!isEmpty(me.values))me.setValues(me.values)}}});Application.components.DigitalPoaShortInfoPanel.superclass.initComponent.call(this)},setValues:function(data){var me=this;me.values=data;var fileItems=[];fileItems.push({subheader:"\u0424\u0430\u0439\u043b \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 .xml"+ ":"});fileItems.push(data["files"]["xml"]);fileItems.push({subheader:"\u0424\u0430\u0439\u043b \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 .sig, .p7s, .sgn"+":"});fileItems.push(data["files"]["sig"]);me.filesCmp.setValues(fileItems||[]);me.digitalPoaFieldsetCmp.setTitle(me.getDigitalPoaTitle(data))},getDigitalPoaTitle:function(data){return"\u0414\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u2116"+ data["guid"]+" \u043d\u0430 "+this.getFio(data["owner"]["person"])},getFio:function(data){return Ext.util.Format.capitalize(data.surname)+" "+Ext.util.Format.capitalize(data.name)+" "+Ext.util.Format.capitalize(data.middlename)}});Ext.define("Application.components.DigitalPoaUploadDialogPanel",{extend:"Ext.form.FormPanel",fileUpload:true,monitorValid:true,border:true,autoHeight:true,digitalpoa_id:null,digitalpoa_guid:null,initComponent:function(){var me=this;me.addEvents("confirmed","uploaded","cancel");Ext.apply(me,{items:[{xtype:"fieldset",ref:"uploadFieldset",title:"\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430",labelWidth:280,items:[{ref:"../alias",name:"alias",xtype:"textfield",anchor:"100%",fieldLabel:"\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438"}, {xtype:"Application.components.UploadFilePanel",uploadLabel:"\u0424\u0430\u0439\u043b \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 .xml",allowCancel:false,uploadText:"\u0412\u044b\u0431\u0440\u0430\u0442\u044c...",monitorValid:true,required:true,allowBlank:false,labelWidth:280,fieldName:"digitalPoa_xml",isValid:function(){return this.isFileAttached()}},{xtype:"Application.components.UploadFilePanel",uploadLabel:"\u0424\u0430\u0439\u043b \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 .sig, .p7s, .sgn", allowCancel:false,allowBlank:false,monitorValid:true,required:true,uploadText:"\u0412\u044b\u0431\u0440\u0430\u0442\u044c...",labelWidth:280,fieldName:"digitalPoa_signature",isValid:function(){return this.isFileAttached()}}]},{xtype:"fieldset",ref:"digitalPoaInfoFieldset",hidden:true,title:"\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u0439 \u041c\u0427\u0414",items:[{xtype:"Application.components.DigitalPoaInfoPanel", ref:"../digitalPoaInfoPanel"}]}],buttons:[{text:"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c",ref:"../uploadButton",handler:function(){me.el.mask("\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430...","x-mask-loading");me.getForm().submit({waitMsgTarget:me.el,success:function(provider,resp){me.el.unmask();me.uploadFieldset.hide();me.uploadButton.hide();me.confirmButton.show();me.digitalPoaInfoPanel.setValues(resp.result["data"]);me.digitalpoa_id=resp.result["id"];me.digitalpoa_guid=resp.result["guid"]; me.digitalPoaInfoFieldset.show();me.setHeight(700);me.autoHeight=false;me.setAutoScroll(true);me.doLayout();me.fireEvent("uploaded",me,resp.result)},failure:function(provider,resp){me.el.unmask();echoResponseMessage(resp.result)}})}},{text:"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c",hidden:true,ref:"../confirmButton",handler:function(){var request={id:me.digitalpoa_id};performRPCCall(RPC.Digitalpoa.sign,[request],[],function(resp){me.fireEvent("confirmed",me,resp)})}},{text:"\u041e\u0442\u043c\u0435\u043d\u0430", handler:function(){me.fireEvent("cancel",me)}}]});Application.components.DigitalPoaUploadDialogPanel.superclass.initComponent.call(this);me.form.api={submit:RPC.Digitalpoa.add};me.form.waitMsgTarget=false}});Ext.define("Application.components.DigitalPoaUploadPanel",{extend:"Ext.form.FormPanel",fileUpload:true,monitorValid:true,border:true,cmptype:null,initComponent:function(){var me=this;me.addEvents("uploaded");Ext.apply(me,{waitMsgTarget:me,items:[{xtype:"hidden",name:"accreditation_type",value:me.cmptype},{xtype:"Application.components.UploadFilePanel",uploadLabel:"\u0424\u0430\u0439\u043b \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 .xml", allowCancel:false,uploadText:"\u0412\u044b\u0431\u0440\u0430\u0442\u044c...",monitorValid:true,required:true,allowBlank:false,labelWidth:280,fieldName:"digitalPoa_xml",isValid:function(){return this.isFileAttached()}},{xtype:"Application.components.UploadFilePanel",uploadLabel:"\u0424\u0430\u0439\u043b \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 .sig, .p7s, .sgn",allowCancel:false, allowBlank:false,monitorValid:true,required:true,uploadText:"\u0412\u044b\u0431\u0440\u0430\u0442\u044c...",labelWidth:280,fieldName:"digitalPoa_signature",isValid:function(){return this.isFileAttached()}}],buttons:[{text:"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c",formBind:true,handler:function(){me.el.mask("\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430...","x-mask-loading");me.getForm().submit({waitMsgTarget:me.el,success:function(provider, resp){me.el.unmask();me.getForm().reset();me.fireEvent("uploaded",me,resp.result)},failure:function(provider,resp){me.el.unmask();echoResponseMessage(resp.result)}})}}]});Application.components.DigitalPoaUploadPanel.superclass.initComponent.call(this);me.form.api={submit:RPC.Digitalpoa.add};me.form.waitMsgTarget=false}});Ext.define("Application.components.EdsTypeSelectPanel",{extend:"Ext.form.FieldSet",title:"\u0422\u0438\u043f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0439 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0438"+REQUIRED_FIELD,value:null,disabled:false,border:true,initComponent:function(){var me=this;Ext.apply(me,{disabled:false,items:[{xtype:"radiogroup",columns:1,ref:"edsRadioPanel",name:"eds_type",allowBlank:false, hideLabel:true,value:me.value,disabledClass:"",disabled:me.disabled,isValid:function(val){if(me.hidden)return val;return Ext.form.RadioGroup.superclass.isValid.call(this,val)},items:[{boxLabel:'\u042d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u0430\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u044c \u044e\u0440\u0438\u0434\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043b\u0438\u0446\u0430 \u0438\u043b\u0438 \u0438\u043d\u0434\u0438\u0432\u0438\u0434\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0434\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044f<div class="gray-label-text">\u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0435\u0434\u0438\u043d\u043e\u043b\u0438\u0447\u043d\u044b\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u043e\u0440\u0433\u0430\u043d\u043e\u043c \u042e\u041b (\u0414\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u043e\u043c, \u0413\u0435\u043d\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u043c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u043e\u043c \u0438 \u0442.\u0434.), \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u043e\u0442 \u043b\u0438\u0446\u0430 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0431\u0435\u0437 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0438\u043b\u0438 \u0418\u041f</div>', name:"eds_type",inputValue:EDS_TYPE_COMMERCIAL},{boxLabel:'\u042d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u0430\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u044c \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043b\u0438\u0446\u0430<div class="gray-label-text">\u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u043c \u042e\u041b \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438 (\u041c\u0427\u0414)</div>', name:"eds_type",inputValue:EDS_TYPE_PERSONAL}]}]});Application.components.EdsTypeSelectPanel.superclass.initComponent.call(this)}});Ext.define("Application.components.FilelistContainer",{extend:"Ext.Container",files:[],withHash:false,withDescription:true,initComponent:function(){var me=this;Ext.apply(me,{items:[me.getNoFilesPanel()],listeners:{afterrender:me.onAfterrender}});Application.components.FilelistContainer.superclass.initComponent.call(this)},onAfterrender:function(cmp){var me=this;if(!isEmpty(me.files))me.setValues(me.files);me.doLayout()},addFileInfo:function(file){var me=this;me.noFilesPanelCmp.hide();this.files.push(file); if(!file.subheader)me.add(this.getFileInfoPanel(file));else me.add({border:false,cls:"spaced-bottom-shallow",html:"<b>"+file.subheader+"</b>"});this.totalFiles++;me.doLayout();return this},removeAllFiles:function(){this.files=[];this.removeAll();this.add(this.getNoFilesPanel());this.doLayout()},clear:function(){return this.removeAllFiles()},getFileInfoPanel:function(file){return getFileInfoPanel(file,{deleteHandler:false},this.withHash)},getNoFilesPanel:function(){return{border:false,html:"\u0421\u043f\u0438\u0441\u043e\u043a \u043f\u0443\u0441\u0442", ref:"noFilesPanelCmp"}},setValues:function(v){var me=this;if(!v)return;me.removeAllFiles();if(Ext.isArray(v))Ext.iterate(v,function(item,i){me.addFileInfo(item)});else Ext.iterate(v,function(i,item){me.addFileInfo(item)});me.doLayout()}});Ext.define("Application.components.FilelistFieldset",{extend:"Ext.form.FieldSet",files:[],withHash:false,withDescription:true,operationItem:null,addButtons:[],initComponent:function(){var me=this;var items=[];if(!isEmpty(this.operationItem))items.push({border:false,cls:"spaced-bottom-shallow",items:[this.operationItem]});items.push({xtype:"Application.components.FilelistContainer",ref:"filesContainer",files:me.files,withHash:me.withHash,withDescription:me.withDescription});Ext.apply(me,{items:items, buttons:[{text:"\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0444\u0430\u0439\u043b\u044b",hidden:true,handler:this.getFilesLinks,scope:this}].concat(this.addButtons)});Application.components.FilelistFieldset.superclass.initComponent.call(this)},addFileInfo:function(file){this.filesContainer.addFileInfo(file);return this},removeAllFiles:function(){this.filesContainer.removeAllFiles();return this},removeAllInfo:function(){return this.removeAllFiles()}, setValues:function(v){var me=this;me.filesContainer.setValues(v);me.doLayout()}});Application.components.FilesPanel=Ext.extend(Ext.Panel,{initComponent:function(){var filetypes=[],component=this,defaults={withDescr:true,required:false};for(var j=0,n=component.file_panels.length;j<n;++j)(function(i){var current=component.file_panels[i];var file_item=component.uploadFilePanel(current,defaults,component);var current_descr=current.descr==null?"":current.descr;filetypes.push({title:current.name,xtype:component.is_panel?"panel":"fieldset",frame:component.is_panel?true:false,cls:component.is_panel? "spaced-panel":"spaced-fieldset",bodyCssClass:component.is_panel?"subpanel-top-padding":"",items:[{cls:"spaced-panel",style:"font-size: 9px",hidden:undefined===current.descr||current.descr==null||current.descr.length==0,html:current_descr},{xtype:"panel",id:"files_uploaded_"+(current.req_id||""),cls:"spaced-bottom",border:false,hideTitle:true},{xtype:"panel",hideTitle:true,border:false,items:[file_item]},{border:false,hideTitle:true,html:ACCEPTED_FILES}],buttons:[{text:"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442", hidden:component.onlyOne!==undefined?component.onlyOne:false,handler:function(){var newField=component.uploadFilePanel(current,defaults,component);var panel=this.findParentByType("panel");panel.insert(panel.items.length-1,newField);panel.doLayout()}}]})})(j);Ext.apply(this,{frame:false,border:false,onlyOne:this.onlyOne!==undefined?this.onlyOne:false,items:filetypes});Application.components.FilesPanel.superclass.initComponent.call(this)},uploadFilePanel:function(current,defaults,component){return{xtype:"Application.components.UploadFilePanel", fieldName:current.req_id?"docs["+current.req_id+"][]":"docs[]",descrName:current.req_id?"docs_descr["+current.req_id+"][]":"docs_descr[]",withDescr:undefined!==current.withDescr?current.withDescr:defaults.withDescr,required:undefined!==current.required?current.required:defaults.required,requiredMark:current.requiredMark?true:false,allowCancel:component.onlyOne!==undefined?!component.onlyOne:true}},isFileAttached:function(){var me=this;var found=true;var files_uploaded=0;me.items.each(function(current_panel){var files_panel= current_panel.items.get(1);files_uploaded+=files_panel.items.length});this.items.each(function(j){var f=false;for(var i=2;i<j.items.length-1;i++){var item;if(2==i)item=j.items.get(i).items.get(0);else item=j.items.get(i);if(item&&item.isFileAttached()){f=true;break}}if(!f){found=false;return false}return true});return found||files_uploaded>0}});Application.components.FilesPanelMU=Ext.extend(Ext.Panel,{initComponent:function(){var filetypes=[],component=this;for(var j=0,n=component.file_panels.length;j<n;++j)(function(i){var current=component.file_panels[i];current.required=current.name=="\u041f\u0440\u043e\u0447\u0438\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b"||(current.name=="\u041a\u043e\u043f\u0438\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044e\u0449\u0438\u0445 \u043f\u043e\u043b\u043d\u043e\u043c\u043e\u0447\u0438\u044f \u043b\u0438\u0446\u0430 \u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0430\u043a\u043a\u0440\u0435\u0434\u0438\u0442\u0430\u0446\u0438\u0438 \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430 \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0437\u0430\u043a\u0430\u0437\u0430"|| current.name=="\u041a\u043e\u043f\u0438\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044e\u0449\u0438\u0445 \u043f\u043e\u043b\u043d\u043e\u043c\u043e\u0447\u0438\u044f \u043b\u0438\u0446\u0430 \u043d\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044e \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0430, \u0443\u043f\u043e\u043b\u043d\u043e\u043c\u043e\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u043e\u0440\u0433\u0430\u043d\u0430")&& Main.user.eds_type==EDS_TYPE_PERSONAL?false:true;filetypes.push({title:current.name,frame:true,cls:"spaced-bottom",items:[{cls:"spaced-panel",style:"font-size: 9px",hidden:undefined===current.descr||current.descr.length==0,html:current.descr},{xtype:"Application.components.multiuploadPanel",name:current.req_id?component.cmptype+"_docs_"+current.req_id+"":component.cmptype+"_docs",uploadHandler:component.uploadHandler,deleteHandler:component.deleteHandler,autoUpload:true,required:current.required, listeners:{beforeupload:function(cmp){cmp.uploadParmas={};cmp.uploadParams.contragent_id=component.contragent_id;if(current.req_id)cmp.uploadParams.requirement_id=current.req_id;cmp.uploadParams.doctype=component.cmptype+"_files"}}},{border:false,hideTitle:true,html:ACCEPTED_FILES}]})})(j);Ext.apply(this,{frame:false,items:filetypes,setValues:function(v){setComponentValues(this,v,false)}});Application.components.FilesPanelMU.superclass.initComponent.call(this)}});Ext.define("Application.components.fullscreenPanel",{extend:"Ext.panel.Panel",frame:false,border:true,style:"padding: 15px;",plugins:Ext.ux.plugins.autoresize,initComponent:function(){this.items=[{xtype:this.cmpType,border:true,frame:false,title:false,outerPanel:this}];this.layout="fit";if(this.cmpParams)Ext.apply(this.items[0],this.cmpParams);if(this.cmpEvents&&this.cmpEvents.length){this.addEvents(this.cmpEvents);this.on("render",function(){this.getComponent(0).relayEvents(this,this.cmpEvents)}, this,{once:true})}Application.components.actionPanel.superclass.initComponent.call(this)}});Ext.define("Application.components.GridSelectWindow",{extend:"Ext.Window",width:800,height:600,modal:true,grid_id:null,gridConfig:{},autoClose:true,title:"\u0412\u044b\u0431\u043e\u0440",getGrid:function(){return Ext.getCmp(this.grid_id)},initComponent:function(){var component=this;component.addEvents("itemselected");component.addEvents("search");component.grid_id=Ext.id();var search_toolbar_id=Ext.id();var grid={xtype:"grid",id:component.grid_id,frame:true,border:false,store:component.gridConfig["store"], viewConfig:{forceFit:true},bbar:new Ext.PagingToolbar({pageSize:50,store:component.gridConfig["store"],displayInfo:true,displayMsg:"\u0417\u0430\u043f\u0440\u043e\u0441\u044b {0} - {1} \u0438\u0437 {2}",emptyMsg:"\u0421\u043f\u0438\u0441\u043e\u043a \u043f\u0443\u0441\u0442"}),tbar:{xtype:"Application.components.searchToolbar",eventTarget:this,searchHelp:"\u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u043f\u043e\u0438\u0441\u043a",id:search_toolbar_id,advancedSearch:false},sm:new Ext.grid.RowSelectionModel({singleSelect:true}), loadMask:true,listeners:{dblclick:component.selectHandler.createDelegate(component)},getAt:function(rowIndex){return this.getStore().getAt(rowIndex)}};grid=Ext.apply(grid,component.gridConfig);Ext.apply(this,{bodyStyle:"padding: 0;",layout:"fit",items:grid,listeners:{afterrender:function(){var search_toolbar=Ext.getCmp(search_toolbar_id);search_toolbar.doSearch()},search:function(query,search_params){var grid=component.getGrid();var store=grid.getStore();store.setBaseParam("start",0);store.setBaseParam("limit", 50);if(query){if(Ext.isString(query))store.setBaseParam("query",query)}else store.setBaseParam("query",null);if(search_params)for(var sp in search_params){if(!search_params.hasOwnProperty(sp))continue;store.setBaseParam(sp,search_params[sp])}store.load({callback:function(){}})}},buttons:[{xtype:"button",text:"\u0412\u044b\u0431\u0440\u0430\u0442\u044c",scope:this,handler:this.selectHandler},{text:"\u0417\u0430\u043a\u0440\u044b\u0442\u044c",scope:this,handler:this.closeHandler}]});Application.components.GridSelectWindow.superclass.initComponent.call(this)}, selectHandler:function(){var grid=this.getGrid();var items=grid.getSelectionModel().getSelections();if(!isEmpty(items)){this.fireEvent("itemselected",items);if(!!this.autoClose)this.close()}},closeHandler:function(){this.close()}});Ext.define("Application.components.guaranteeDataPanel",{extend:"Ext.form.FieldSet",title:"\u0412\u0438\u0434 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f",autoHeight:true,combo_values:[["1","\u041e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u044f\u0432\u043a\u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u0432 \u0432\u0438\u0434\u0435 \u0434\u0435\u043d\u0435\u0436\u043d\u044b\u0445 \u0441\u0440\u0435\u0434\u0441\u0442\u0432"], ["2","\u041e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u044f\u0432\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u043f\u043e \u0444\u043e\u0440\u043c\u0435 \u0431\u0430\u043d\u043a\u043e\u0432\u0441\u043a\u043e\u0439 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0438"]],initComponent:function(){this.addEvents("applicloaded");var part=this.part||1,guarantee_size=Ext.id(),guarantee_name=Ext.id(),guarantee_type=this.guarantee_type|| Ext.id(),document_id=this.document_id+"_"+part,guarantee_status=Ext.id(),hideGuaranteeFields=this.hide_guarantee_fields,noneditable=this.noneditable,component=this.component,comboValues=this.combo_values;this.guarantee_type=guarantee_type;this.document_id=document_id;this.guarantee_size=guarantee_size;var check_visible=function(combo){if(combo.getValue()==1||!!hideGuaranteeFields){Ext.getCmp(guarantee_size).setDisabled(true).setVisible(false);Ext.getCmp(guarantee_name).setDisabled(true).setVisible(false); Ext.getCmp(document_id).setDisabled(true).setVisible(false)}else{Ext.getCmp(guarantee_size).setDisabled(false).setVisible(true);Ext.getCmp(guarantee_name).setDisabled(false).setVisible(true);Ext.getCmp(document_id).setDisabled(false).setVisible(true)}};var uploadHandler=this.uploadHandlerFile||RPC.Applic.addFile,deleteHandler=this.deleteHandlerFile||RPC.Applic.removeFile,document_name=this.document_name||"application_docs_guarantee",document_title=this.document_title||null,document_type=this.document_type|| APPLIC_DOC_GUARANTEE;var cmptype_file=noneditable?"Application.components.FilelistFieldset":"Application.components.multiuploadPanel";var drawFrame=document_title!=null;var default_combo_value=1;Ext.each(comboValues,function(item){default_combo_value=item[0];return false});Ext.apply(this,{labelWidth:300,layout:"form",defaults:{anchor:"100%",defaults:{border:false,anchor:"100%",allowBlank:false}},items:[{xtype:"combo",columns:1,hideLabel:true,id:guarantee_type,name:"guarantee_type",editable:false, value:default_combo_value,readOnly:noneditable,triggerAction:"all",store:comboValues,listeners:{change:function(cmp,newValue,oldValue){check_visible(this)},select:function(combo){check_visible(combo)}}},{xtype:cmptype_file,name:document_name,uploadHandler:uploadHandler,deleteHandler:deleteHandler,hideTitle:true,autoUpload:true,title:document_title,fdata:undefined,style:"margin-top: 5px",frame:drawFrame,border:true,id:document_id,listeners:{beforeupload:function(cmp){var application_id=component.applic!= null?component.applic.id:component.application_id;cmp.uploadParams.application_id=application_id;cmp.uploadParams.doctype=document_type;cmp.uploadParams.lot_id=component.lot_data.id;cmp.uploadParams.application_part=part},uploadcomplete:function(result,action){if(result.success&&result.application_id&&result.application_id!=component.application_id)component.fireEvent("idchanged",result.application_id)}},withHash:false},{xtype:"Application.components.TextSearchCombo",name:"guarantee_name",fieldLabel:"\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0413\u0430\u0440\u0430\u043d\u0442\u0430", id:guarantee_name,hideTrigger:true,mode:"local",itemCls:"required",readOnly:noneditable,displayField:"bank_name",autoSelect:false,anyMatch:true,minChars:3,store:new Ext.data.ArrayStore({fields:["bank_name","bank_value"],data:[["\u00ab\u041e\u0410\u041e \u0411\u0430\u043d\u043a \u0412\u0422\u0411\u00bb","\u00ab\u041e\u0410\u041e \u0411\u0430\u043d\u043a \u0412\u0422\u0411\u00bb"],["\u0413\u041f\u0411 (\u041e\u0410\u041e)","\u0413\u041f\u0411 (\u041e\u0410\u041e)"],['\u0417\u0410\u041e "\u042e\u043d\u0438\u041a\u0440\u0435\u0434\u0438\u0442 \u0411\u0430\u043d\u043a"', '\u0417\u0410\u041e "\u042e\u043d\u0438\u041a\u0440\u0435\u0434\u0438\u0442 \u0411\u0430\u043d\u043a"'],['\u041e\u0410\u041e "\u0421\u0431\u0435\u0440\u0431\u0430\u043d\u043a \u0420\u043e\u0441\u0441\u0438\u0438"','\u041e\u0410\u041e "\u0421\u0431\u0435\u0440\u0431\u0430\u043d\u043a \u0420\u043e\u0441\u0441\u0438\u0438"'],['\u041e\u0410\u041e "\u0420\u043e\u0441\u0441\u0435\u043b\u044c\u0445\u043e\u0437\u0431\u0430\u043d\u043a"','\u041e\u0410\u041e "\u0420\u043e\u0441\u0441\u0435\u043b\u044c\u0445\u043e\u0437\u0431\u0430\u043d\u043a"'], ['\u041e\u0410\u041e \u0410\u041a\u0411 "\u0420\u043e\u0441\u0431\u0430\u043d\u043a"','\u041e\u0410\u041e \u0410\u041a\u0411 "\u0420\u043e\u0441\u0431\u0430\u043d\u043a"'],['\u041e\u0410\u041e "\u041d\u043e\u0440\u0434\u0435\u0430 \u0411\u0430\u043d\u043a"','\u041e\u0410\u041e "\u041d\u043e\u0440\u0434\u0435\u0430 \u0411\u0430\u043d\u043a"'],['\u0417\u0410\u041e "\u0413\u043b\u043e\u0431\u044d\u043a\u0441\u0431\u0430\u043d\u043a"','\u0417\u0410\u041e "\u0413\u043b\u043e\u0431\u044d\u043a\u0441\u0431\u0430\u043d\u043a"'], ['\u041e\u0410\u041e "\u041f\u0440\u043e\u043c\u0441\u044f\u0437\u044c\u0431\u0430\u043d\u043a"','\u041e\u0410\u041e "\u041f\u0440\u043e\u043c\u0441\u044f\u0437\u044c\u0431\u0430\u043d\u043a"'],["\u041e\u0410\u041e \u0410\u041a\u0411 \u00ab\u0421\u0432\u044f\u0437\u044c-\u0411\u0430\u043d\u043a\u00bb","\u041e\u0410\u041e \u0410\u041a\u0411 \u00ab\u0421\u0432\u044f\u0437\u044c-\u0411\u0430\u043d\u043a\u00bb"],["\u041e\u0410\u041e \u00ab\u0410\u0411 \u00ab\u0420\u041e\u0421\u0421\u0418\u042f\u00bb", "\u041e\u0410\u041e \u00ab\u0410\u0411 \u00ab\u0420\u041e\u0421\u0421\u0418\u042f\u00bb"],["\u0417\u0410\u041e \u041a\u0411 \u00ab\u0421\u0438\u0442\u0438\u0431\u0430\u043d\u043a\u00bb","\u0417\u0410\u041e \u041a\u0411 \u00ab\u0421\u0438\u0442\u0438\u0431\u0430\u043d\u043a\u00bb"],["\u041e\u0410\u041e \u00ab\u0411\u0430\u043d\u043a \u041c\u043e\u0441\u043a\u0432\u044b\u00bb","\u041e\u0410\u041e \u00ab\u0411\u0430\u043d\u043a \u041c\u043e\u0441\u043a\u0432\u044b\u00bb"],["\u041e\u0410\u041e \u00ab\u041c\u043e\u0441\u043a\u043e\u0432\u0441\u043a\u0438\u0439 \u043a\u0440\u0435\u0434\u0438\u0442\u043d\u044b\u0439 \u0431\u0430\u043d\u043a\u00bb", "\u041e\u0410\u041e \u00ab\u041c\u043e\u0441\u043a\u043e\u0432\u0441\u043a\u0438\u0439 \u043a\u0440\u0435\u0434\u0438\u0442\u043d\u044b\u0439 \u0431\u0430\u043d\u043a\u00bb"],['\u041e\u0410\u041e "\u0412\u0411\u0420\u0420"','\u041e\u0410\u041e "\u0412\u0411\u0420\u0420"'],["\u0412\u0422\u0411 24 (\u041f\u0410\u041e)","\u0412\u0422\u0411 24 (\u041f\u0410\u041e)"],["\u0410\u041a\u0411 \u00ab\u0410\u0431\u0441\u043e\u043b\u044e\u0442 \u0411\u0430\u043d\u043a\u00bb (\u041e\u0410\u041e)","\u0410\u041a\u0411 \u00ab\u0410\u0431\u0441\u043e\u043b\u044e\u0442 \u0411\u0430\u043d\u043a\u00bb (\u041e\u0410\u041e)"], ["\u041e\u0410\u041e \u0410\u041a\u0411 \u00ab\u042e\u0413\u0420\u0410\u00bb","\u041e\u0410\u041e \u0410\u041a\u0411 \u00ab\u042e\u0413\u0420\u0410\u00bb"],['\u041e\u0410\u041e "\u0423\u0420\u0410\u041b\u0421\u0418\u0411"','\u041e\u0410\u041e "\u0423\u0420\u0410\u041b\u0421\u0418\u0411"'],["\u0410\u041e \u041a2 \u0411\u0430\u043d\u043a","\u0410\u041e \u041a2 \u0411\u0430\u043d\u043a"],['\u041e\u0410\u041e "\u0427\u0415\u041b\u0418\u041d\u0414\u0411\u0410\u041d\u041a"','\u041e\u0410\u041e "\u0427\u0415\u041b\u0418\u041d\u0414\u0411\u0410\u041d\u041a"']]})}, {xtype:"Application.components.priceField",name:"guarantee_price",fieldLabel:"C\u0443\u043c\u043c\u0430 \u0431\u0430\u043d\u043a\u043e\u0432\u0441\u043a\u043e\u0439 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0438",id:guarantee_size,itemCls:"required",allowBlank:noneditable,readOnly:noneditable},{xtype:"combo",columns:1,fieldLabel:"\u0421\u0442\u0430\u0442\u0443\u0441 \u0431\u0430\u043d\u043a\u043e\u0432\u0441\u043a\u043e\u0439 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0438",hideLabel:false,id:guarantee_status, name:"guarantee_status",editable:false,value:1,disabled:true,hidden:true,triggerAction:"all",store:[["1","\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0430 \u0413\u0430\u0440\u0430\u043d\u0442\u043e\u043c"],["2","\u041d\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0430 \u0413\u0430\u0440\u0430\u043d\u0442\u043e\u043c"]]}],listeners:{afterlayout:function(){var cmp_guarantee_type=Ext.getCmp(guarantee_type);if(noneditable)cmp_guarantee_type.setReadOnly(true); check_visible(cmp_guarantee_type)}}});Application.components.guaranteeDataPanel.superclass.initComponent.call(this)},validate:function(){var result={success:true,warn:[]};if(this.guarantee_type&&!this.noneditable){var cmp_guarantee_type=Ext.getCmp(this.guarantee_type);var guarantee_size_cmp=Ext.getCmp(this.guarantee_size);if(cmp_guarantee_type&&cmp_guarantee_type.getValue()==2){if(!this.force_readonly){var cmp=this;var inside_warning=cmp.component.lot_data.guarantee_application>0&&guarantee_size_cmp.getValue()< cmp.component.lot_data.guarantee_application;Ext.Msg.alert("\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435","\u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0432\u044b\u0431\u043e\u0440\u0430 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0437\u0430\u044f\u0432\u043a\u0438 \u043f\u0443\u0442\u0435\u043c "+"\u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0430\u043d\u043a\u043e\u0432\u0441\u043a\u043e\u0439 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0438 \u043d\u0430 \u0412\u0430\u0448\u0435\u043c \u043b\u0438\u0446\u0435\u0432\u043e\u043c \u0441\u0447\u0435\u0442\u0435 "+ "\u0434\u043e\u043b\u0436\u043d\u0430 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u0441\u0443\u043c\u043c\u0430 \u0434\u0435\u043d\u0435\u0436\u043d\u044b\u0445 \u0441\u0440\u0435\u0434\u0441\u0442\u0432, \u0440\u0430\u0432\u043d\u0430\u044f \u043f\u043b\u0430\u0442\u0435, \u0432\u0437\u0438\u043c\u0430\u0435\u043c\u043e\u0439 "+"\u0441 \u043f\u043e\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u044f \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b, \u0432 \u0440\u0430\u0437\u043c\u0435\u0440\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c \u0432 \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u21161"+ "«\u0422\u0430\u0440\u0438\u0444\u044b» \u043a \u0420\u0435\u0433\u043b\u0430\u043c\u0435\u043d\u0442\u0443 \u0440\u0430\u0431\u043e\u0442\u044b \u042d\u0422\u041f \u0410\u0432\u0442\u043e\u0434\u043e\u0440-\u0422\u041f",function(){if(inside_warning)Ext.Msg.alert("\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435","\u0421\u0443\u043c\u043c\u0430 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0439 \u0432\u0430\u043c\u0438 \u0431\u0430\u043d\u043a\u043e\u0432\u0441\u043a\u043e\u0439 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0438 \u043c\u0435\u043d\u044c\u0448\u0435 \u0441\u0443\u043c\u043c\u044b \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u043b\u043e\u0442\u0430")})}var cmp_guarantee_file= Ext.getCmp(this.document_id);if(!this.force_readonly&&cmp_guarantee_file&&cmp_guarantee_file.getValues().length==0){result.warn.push("\u0412\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0431\u0430\u043d\u043a\u043e\u0432\u0441\u043a\u0443\u044e \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u044e");result.success=false}if(this.guarantee_size){var cmp_guarantee_size=Ext.getCmp(this.guarantee_size);if(cmp_guarantee_size&& cmp_guarantee_size.getValue()==""){result.warn.push("\u0412\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u0443\u043c\u043c\u0443 \u0431\u0430\u043d\u043a\u043e\u0432\u0441\u043a\u043e\u0439 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0438");result.success=false}}}}return result}});var EDSHash={binl2str:function(bin,chrsz){var str="";var mask=(1<<chrsz)-1;for(var i=0;i<bin.length*32;i+=chrsz)str+=String.fromCharCode(bin[i>>5]>>>i%32&mask);return str},str2binl:function(str,chrsz){var bin=[];var mask=(1<<chrsz)-1;for(var i=0;i<str.length*chrsz;i+=chrsz)bin[i>>5]|=(str.charCodeAt(i/chrsz)&mask)<<i%32;return bin},str2bin:function(str){var bin=[];for(var i=0;i<str.length;i++)bin[i]=str.charCodeAt(i);return bin},binl2hex:function(binarray,hexcase){var hex_tab=hexcase?"0123456789ABCDEF": "0123456789abcdef";var str="";for(var i=0;i<binarray.length*4;i++)str+=hex_tab.charAt(binarray[i>>2]>>i%4*8+4&15)+hex_tab.charAt(binarray[i>>2]>>i%4*8&15);return str},bin2hex:function(binarray,hexcase){var hex_tab=hexcase?"0123456789ABCDEF":"0123456789abcdef";var str="";for(var i=0;i<binarray.length;i++)str+=hex_tab.charAt(binarray[i]>>4&15)+hex_tab.charAt(binarray[i]&15);return str},zero:function(len){var t=[];for(var i=0;i<len;i++)t.push(0);return t},copy:function(to,from){var len=from.length;for(var i= 0;i<len;i++)to[i]=from[i]},isString:function(object){return Object.prototype.toString.call(object)=="[object String]"},crcTable:function(){var table=[];var c,i,j;for(i=0;i<256;c=++i){for(j=0;j<8;j++)c=c&1?3988292384^c>>>1:c>>>1;table[i]=c}return table}}; var MD5Hash=function(s,raw,hexcase,chrsz){raw=raw||false;hexcase=hexcase||false;chrsz=chrsz||8;var str2binl=EDSHash.str2binl;var binl2str=EDSHash.binl2str;var binl2hex=EDSHash.binl2hex;function safe_add(x,y){var lsw=(x&65535)+(y&65535);var msw=(x>>16)+(y>>16)+(lsw>>16);return msw<<16|lsw&65535}function bit_rol(num,cnt){return num<<cnt|num>>>32-cnt}function md5_cmn(q,a,b,x,s,t){return safe_add(bit_rol(safe_add(safe_add(a,q),safe_add(x,t)),s),b)}function md5_ff(a,b,c,d,x,s,t){return md5_cmn(b&c|~b& d,a,b,x,s,t)}function md5_gg(a,b,c,d,x,s,t){return md5_cmn(b&d|c&~d,a,b,x,s,t)}function md5_hh(a,b,c,d,x,s,t){return md5_cmn(b^c^d,a,b,x,s,t)}function md5_ii(a,b,c,d,x,s,t){return md5_cmn(c^(b|~d),a,b,x,s,t)}function core_md5(x,len){x[len>>5]|=128<<len%32;x[(len+64>>>9<<4)+14]=len;var a=1732584193;var b=-271733879;var c=-1732584194;var d=271733878;for(var i=0;i<x.length;i+=16){var olda=a;var oldb=b;var oldc=c;var oldd=d;a=md5_ff(a,b,c,d,x[i+0],7,-680876936);d=md5_ff(d,a,b,c,x[i+1],12,-389564586); c=md5_ff(c,d,a,b,x[i+2],17,606105819);b=md5_ff(b,c,d,a,x[i+3],22,-1044525330);a=md5_ff(a,b,c,d,x[i+4],7,-176418897);d=md5_ff(d,a,b,c,x[i+5],12,1200080426);c=md5_ff(c,d,a,b,x[i+6],17,-1473231341);b=md5_ff(b,c,d,a,x[i+7],22,-45705983);a=md5_ff(a,b,c,d,x[i+8],7,1770035416);d=md5_ff(d,a,b,c,x[i+9],12,-1958414417);c=md5_ff(c,d,a,b,x[i+10],17,-42063);b=md5_ff(b,c,d,a,x[i+11],22,-1990404162);a=md5_ff(a,b,c,d,x[i+12],7,1804603682);d=md5_ff(d,a,b,c,x[i+13],12,-40341101);c=md5_ff(c,d,a,b,x[i+14],17,-1502002290); b=md5_ff(b,c,d,a,x[i+15],22,1236535329);a=md5_gg(a,b,c,d,x[i+1],5,-165796510);d=md5_gg(d,a,b,c,x[i+6],9,-1069501632);c=md5_gg(c,d,a,b,x[i+11],14,643717713);b=md5_gg(b,c,d,a,x[i+0],20,-373897302);a=md5_gg(a,b,c,d,x[i+5],5,-701558691);d=md5_gg(d,a,b,c,x[i+10],9,38016083);c=md5_gg(c,d,a,b,x[i+15],14,-660478335);b=md5_gg(b,c,d,a,x[i+4],20,-405537848);a=md5_gg(a,b,c,d,x[i+9],5,568446438);d=md5_gg(d,a,b,c,x[i+14],9,-1019803690);c=md5_gg(c,d,a,b,x[i+3],14,-187363961);b=md5_gg(b,c,d,a,x[i+8],20,1163531501); a=md5_gg(a,b,c,d,x[i+13],5,-1444681467);d=md5_gg(d,a,b,c,x[i+2],9,-51403784);c=md5_gg(c,d,a,b,x[i+7],14,1735328473);b=md5_gg(b,c,d,a,x[i+12],20,-1926607734);a=md5_hh(a,b,c,d,x[i+5],4,-378558);d=md5_hh(d,a,b,c,x[i+8],11,-2022574463);c=md5_hh(c,d,a,b,x[i+11],16,1839030562);b=md5_hh(b,c,d,a,x[i+14],23,-35309556);a=md5_hh(a,b,c,d,x[i+1],4,-1530992060);d=md5_hh(d,a,b,c,x[i+4],11,1272893353);c=md5_hh(c,d,a,b,x[i+7],16,-155497632);b=md5_hh(b,c,d,a,x[i+10],23,-1094730640);a=md5_hh(a,b,c,d,x[i+13],4,681279174); d=md5_hh(d,a,b,c,x[i+0],11,-358537222);c=md5_hh(c,d,a,b,x[i+3],16,-722521979);b=md5_hh(b,c,d,a,x[i+6],23,76029189);a=md5_hh(a,b,c,d,x[i+9],4,-640364487);d=md5_hh(d,a,b,c,x[i+12],11,-421815835);c=md5_hh(c,d,a,b,x[i+15],16,530742520);b=md5_hh(b,c,d,a,x[i+2],23,-995338651);a=md5_ii(a,b,c,d,x[i+0],6,-198630844);d=md5_ii(d,a,b,c,x[i+7],10,1126891415);c=md5_ii(c,d,a,b,x[i+14],15,-1416354905);b=md5_ii(b,c,d,a,x[i+5],21,-57434055);a=md5_ii(a,b,c,d,x[i+12],6,1700485571);d=md5_ii(d,a,b,c,x[i+3],10,-1894986606); c=md5_ii(c,d,a,b,x[i+10],15,-1051523);b=md5_ii(b,c,d,a,x[i+1],21,-2054922799);a=md5_ii(a,b,c,d,x[i+8],6,1873313359);d=md5_ii(d,a,b,c,x[i+15],10,-30611744);c=md5_ii(c,d,a,b,x[i+6],15,-1560198380);b=md5_ii(b,c,d,a,x[i+13],21,1309151649);a=md5_ii(a,b,c,d,x[i+4],6,-145523070);d=md5_ii(d,a,b,c,x[i+11],10,-1120210379);c=md5_ii(c,d,a,b,x[i+2],15,718787259);b=md5_ii(b,c,d,a,x[i+9],21,-343485551);a=safe_add(a,olda);b=safe_add(b,oldb);c=safe_add(c,oldc);d=safe_add(d,oldd)}return[a,b,c,d]}return raw?binl2str(core_md5(str2binl(s, chrsz),s.length*chrsz),chrsz):binl2hex(core_md5(str2binl(s,chrsz),s.length*chrsz),hexcase)}; function GostHash(s){var block,Sum,H,newH,L;var pos=0,posIB=0;var blklen=32;var c,i,j;var buf=EDSHash.isString(s)?EDSHash.str2bin(s):s;var len=buf.length;var S=[[10,4,5,6,8,1,3,7,13,12,14,0,9,2,11,15],[5,15,4,0,2,13,11,9,1,7,6,3,12,14,10,8],[7,15,12,14,9,4,1,0,3,11,5,2,6,10,8,13],[4,10,7,12,0,15,2,8,14,1,6,5,13,11,9,3],[7,6,4,11,9,12,2,10,1,8,0,14,15,13,3,5],[7,6,2,4,13,9,15,0,10,1,5,11,8,14,12,3],[13,14,4,1,7,0,5,10,3,12,8,15,6,2,9,11],[1,3,10,9,5,11,4,15,8,6,7,14,13,0,2,12]];function E_f(A,K,R, o){var c=0;var i,x,tmp,nTmp;for(i=0;i<4;i++){c+=A[i]+K[o+i];R[i]=c&255;c>>=8}for(i=0;i<8;i++){x=R[i>>1]&(i&1?240:15);R[i>>1]^=x;x>>=i&1?4:0;x=S[i][x];R[i>>1]|=x<<(i&1?4:0)}tmp=R[3];R[3]=R[2];R[2]=R[1];R[1]=R[0];R[0]=tmp;tmp=R[0]>>5;for(i=1;i<4;i++){nTmp=R[i]>>5;R[i]=255&(R[i]<<3|tmp);tmp=nTmp}R[0]=255&(R[0]<<3|tmp)}function E(D,K,R,o){var A=[],B=[];var i,step,tmp;for(i=0;i<4;i++)A[i]=D[o+i];for(i=0;i<4;i++)B[i]=D[o+i+4];for(step=0;step<3;step++)for(i=0;i<32;i+=4){tmp=[];E_f(A,K,tmp,i);for(j=0;j<4;j++)tmp[j]^= B[j];EDSHash.copy(B,A);EDSHash.copy(A,tmp)}for(i=28;i>=0;i-=4){tmp=[];E_f(A,K,tmp,i);for(j=0;j<4;j++)tmp[j]^=B[j];EDSHash.copy(B,A);EDSHash.copy(A,tmp)}for(i=0;i<4;i++)R[o+i]=B[i];for(i=0;i<4;i++)R[o+i+4]=A[i]}function A(Y,R){var i;for(i=0;i<24;i++)R[i]=Y[i+8];for(i=0;i<8;i++)R[i+24]=Y[i]^Y[i+8]}function fi(arg){var i=arg&3;var k=arg>>2;k++;return(i<<3)+k-1}function P(Y,R){for(var i=0;i<32;i++)R[i]=Y[fi(i)]}function psi(arr,p){var i,y16;while(p--){y16=[0,0];y16[0]^=arr[0];y16[1]^=arr[1];y16[0]^=arr[2]; y16[1]^=arr[3];y16[0]^=arr[4];y16[1]^=arr[5];y16[0]^=arr[6];y16[1]^=arr[7];y16[0]^=arr[24];y16[1]^=arr[25];y16[0]^=arr[30];y16[1]^=arr[31];for(i=0;i<30;i++)arr[i]=arr[i+2];arr[30]=y16[0];arr[31]=y16[1]}}function f(H,M,newH){var C=[];C[0]=EDSHash.zero(blklen);C[1]=EDSHash.zero(blklen);C[2]=[0,255,0,255,0,255,0,255,255,0,255,0,255,0,255,0,0,255,255,0,255,0,0,255,255,0,0,0,255,255,0,255];C[3]=EDSHash.zero(blklen);var U=[],V=[],W=[],K=[],tmp=[];var i,step,t;EDSHash.copy(U,H);EDSHash.copy(V,M);for(i=0;i< 32;i++)W[i]=U[i]^V[i];K[0]=EDSHash.zero(blklen);K[1]=EDSHash.zero(blklen);K[2]=EDSHash.zero(blklen);K[3]=EDSHash.zero(blklen);P(W,K[0]);for(step=1;step<4;step++){A(U,tmp);for(i=0;i<32;i++)U[i]=tmp[i]^C[step][i];A(V,tmp);A(tmp,V);for(i=0;i<32;i++)W[i]=U[i]^V[i];P(W,K[step])}var S=EDSHash.zero(blklen);for(i=0;i<32;i+=8)E(H,K[i>>3],S,i);psi(S,12);for(i=0;i<32;i++)S[i]^=M[i];psi(S,1);for(i=0;i<32;i++)S[i]^=H[i];psi(S,61);EDSHash.copy(newH,S)}Sum=EDSHash.zero(blklen);H=EDSHash.zero(blklen);block=EDSHash.zero(blklen); newH=EDSHash.zero(blklen);L=EDSHash.zero(blklen);while(posIB<len||pos){if(posIB<len)block[pos++]=buf[posIB++];else block[pos++]=0;if(pos==32){pos=0;c=0;for(i=0;i<32;i++){c+=block[i]+Sum[i];Sum[i]=c&255;c>>=8}f(H,block,newH);EDSHash.copy(H,newH)}}c=len<<3;for(i=0;i<32;i++){L[i]=c&255;c>>=8}f(H,L,newH);EDSHash.copy(H,newH);f(H,Sum,newH);return EDSHash.bin2hex(newH)} function CRC32Hash(buf){var c=4294967295,i;if(typeof buf==="string")buf=EDSHash.str2bin(buf);if(typeof EDSHash.crcTable==="function")EDSHash.crcTable=EDSHash.crcTable();for(i=0;i<buf.length;i++)c=EDSHash.crcTable[(c^buf[i])&255]^c>>>8;return~c}function Base64Decode(data,compat){var CU;if(!compat&&(CU=getCAPICOMObject("Utilities")))return CU.Base64Decode(data);return Base64.decode(data)}function Base64Encode(data){return Base64.encode(data)} if(window.Ext){Ext.util.MD5=MD5Hash;Ext.util.GOST=GostHash;Ext.util.CRC32=CRC32Hash;Ext.util.Base64={encode:Base64Encode,decode:Base64Decode}}function checkSum(string,weights,mod1,mod2){mod1=mod1||11;mod2=mod2||10;var sum=0;var i;for(i=0;i<string.length;i+=1)if(weights.length>i)sum+=parseInt(string.charAt(i),10)*weights[i];sum%=mod1;sum%=mod2;return sum};Ext.define("Application.components.imageGalleryPanel",{extend:"Ext.Panel",initComponent:function(){var gallery_id=Ext.id(),upload_panel_id=Ext.id(),single_image_id=Ext.id();this.filePanelId=gallery_id;this.addEvents("uploadcomplete","idchanged","itemsLoaded");this.fileitems=[];if(Ext.isEmpty(this.files))this.files=[];if(Ext.isEmpty(this.withHash))this.withHash=false;var items=[];if(this.procedure)this.procedure_id=this.procedure;else if(!this.parent.procedure_id||Ext.isEmpty(this.parent.procedure_id))this.procedure_id= false;else this.procedure_id=this.parent.procedure_id;if(this.editable){var uploadPanel=new Application.components.imgUploadForm({id:upload_panel_id,parent:this,procedure_id:this.procedure_id,position_id:this.params.positionId,region:"north",height:190,title:"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044e \u0438\u043b\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435"});items.push(uploadPanel)}var dataView=new Application.components.imgGalleryDataView({region:"west", title:"\u0417\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f",id:gallery_id,height:400,width:180,style:"padding: 0px",procedure_id:this.procedure_id,position_id:this.params.positionId,editable:this.editable});var imageView=new Application.components.imgSingleView({id:single_image_id,region:"center",height:400,title:"\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f"}); items.push(imageView);items.push(dataView);if(this.editable){this.relayEvents(uploadPanel,["uploadcomplete"]);uploadPanel.relayEvents(this,["idchanged"]);dataView.relayEvents(uploadPanel,["uploadcomplete"]);imageView.relayEvents(dataView,["itemDeleted"])}dataView.relayEvents(this,["itemsLoaded"]);imageView.relayEvents(dataView,["itemSelected"]);Ext.apply(this,{autoHeight:true,frame:true,name:"lot_unit_pictures",items:[{layout:"border",xtype:"panel",height:this.editable?600:430,defaults:{frame:true, split:true},items:items}],listeners:{idchanged:function(id){this.procedure_id=id},uploadcomplete:function(result,action){if(result.success&&result.procedure_id&&this.parent&&result.procedure_id!=this.parent.procedure_id)this.parent.fireEvent("idchanged",result.procedure_id)}}});if(this.files)this.on("afterrender",function(){this.setValues(this.files)});Application.components.imageGalleryPanel.superclass.initComponent.call(this)},setValues:function(v){if(!v)return;var file=null;for(var i=0;i<v.length;i++){file= v[i];this.fileitems.push(file)}this.fireEvent("itemsLoaded",{images:this.fileitems})},getValues:function(){var values=Ext.getCmp(this.filePanelId).getFileItems();return values}});Ext.define("Application.components.imgGalleryDataView",{extend:"Ext.Panel",initComponent:function(){var component=this;var gallery_id="image-galery",tbar_id=Ext.id();this.addEvents("itemSelected");this.addEvents("uploadcomplete");this.addEvents("itemsLoaded");this.addEvents("itemDeleted");var items=[];var tpl=new Ext.XTemplate("<ul>",'<tpl for=".">','<li class="thumb-wrap" id="{id}">',"<strong>{descr}</strong>",'<img src="{thumbLink}" width="80" />','<tpl if="values.main_pic"><span style="color: red;font-weight: bold;">\u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u0444\u043e\u0442\u043e</span></tpl>', "</li>","</tpl>","</ul>");if(!this.fileitems)this.fileitems=[];this.store=new Ext.data.JsonStore({autoDestroy:true,storeId:"galeryStore",proxy:new Ext.data.MemoryProxy,idProperty:"id",root:"images",fields:["id","name","descr","file","hash","size","type","link","thumbLink","previewLink","main_pic"]});var dataview=new Ext.DataView({autoScroll:true,store:this.store,tpl:tpl,id:gallery_id,height:370,singleSelect:true,overClass:"x-view-over",itemSelector:"li.thumb-wrap",style:"border:1px solid #99BBE8; border-top-width: 0", plugins:[],listeners:{selectionchange:function(dv,nodes){var l=nodes.length;var s=l!=1?"s":""},click:function(){var selNode=dataview.getSelectedRecords();component.fireEvent("itemSelected",selNode[0].data)}}});if(this.editable){var tbar=new Ext.Toolbar({id:tbar_id,style:"border:1px solid #99BBE8;"});tbar.add("->",{tooltip:"\u0421\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c",icon:"ico/status4.png",handler:function(){var records=dataview.getSelectedRecords(); if(records.length!=0){var file={id:records[0].data.id,position_id:component.position_id};performRPCCall(RPC_nsi.Position.setMainPic,[file],null,function(result){if(result.success)component.store.loadData(result.files);else echoResponseMessage(result)})}}},{tooltip:"\u0423\u0434\u0430\u043b\u0438\u0442\u044c",icon:"ico/delete.png",handler:function(){var records=dataview.getSelectedRecords();if(records.length!=0){var file={id:records[0].data.id,type:records[0].data.type};performRPCCall(RPC_nsi.Position.removeFile, [file],null,function(result){if(result.success){component.store.remove(records[0]);component.store.reload();component.fireEvent("itemDeleted",file.id)}else echoResponseMessage(result)})}}});items.push(tbar)}items.push(dataview);this.items=items;this.addListener("uploadcomplete",function(result,action){var me=this;var items=result.file;Ext.each(items,function(item){me.addRecord(item)});if(result.procedure_id&&result.procedure_id!=this.procedure_id)this.procedure_id=result.procedure_id});this.addListener("itemsLoaded", function(fileitems){this.store.loadData(fileitems)});dataview.addListener("beforerender",function(){var animationPlugin=new Ext.ux.DataViewTransition({duration:550,idProperty:"id"});dataview.plugins.push(animationPlugin)});Application.components.imgGalleryDataView.superclass.initComponent.call(this)},addRecord:function(dataArray){var FileItem=this.store.recordType;var record=new FileItem(dataArray);this.store.insert(0,record);return this},getFileItems:function(){var fileItems=[];this.store.each(function(record){fileItems.push(record.data)}); return fileItems}});Ext.define("Application.components.imgSingleView",{extend:"Ext.Panel",initComponent:function(){var img_panel_id=Ext.id();this.addEvents("itemSelected");var tplDetail=new Ext.XTemplate('<div class="details">','<tpl for=".">','<div class="details-info">',"<h4>{descr}</h4>",'<img src="{previewLink}" height="320"><br>','<span><a href="{link}" target="_blank">\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0440\u0430\u0437\u043c\u0435\u0440\u043d\u043e\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435</a></span>', "</div>","</tpl>","</div>");this.file_id=null;Ext.apply(this,{html:"",autoScroll:true,id:img_panel_id});this.addListener("itemSelected",function(item){this.file_id=item.id;var html=tplDetail.apply(item);this.update(html)});this.addListener("itemDeleted",function(itemId){if(this.file_id==itemId)this.update(null)});Application.components.imgSingleView.superclass.initComponent.call(this)}});Ext.define("Application.components.imgUploadForm",{extend:"Ext.Panel",initComponent:function(){var component=this;var files_id=Ext.id();this.addEvents("uploadcomplete","idchaged");if(!component.procedure_id)component.procedure_id=component.parent.procedure_id;Ext.apply(this,{bodyCssClass:"subpanel",items:[{xtype:"fieldset",autoHeight:true,title:"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0444\u043e\u0442\u043e \u0438\u043b\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435", defaults:{border:false},items:[{html:"\u041f\u0440\u0438\u043b\u043e\u0436\u0438\u0442\u0435 \u0444\u043e\u0442\u043e \u0412\u0430\u0448\u0435\u0433\u043e \u0442\u043e\u0432\u0430\u0440\u0430. \u041d\u0430\u043b\u0438\u0447\u0438\u0435 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0432\u044b\u0448\u0430\u0435\u0442 \u0448\u0430\u043d\u0441\u044b \u043f\u0440\u043e\u0434\u0430\u0442\u044c \u0442\u043e\u0432\u0430\u0440.<br> "+ "\u0414\u043b\u044f \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0439\u0442\u0435 \u0438\u0445 \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u043e\u0440\u043c\u044b \u043d\u0438\u0436\u0435. "+"\u041f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u0444\u0430\u0439\u043b\u044b \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0434\u043e "+ Ext.util.Format.humanizeSize(PIC_UPLOAD_SIZE)+" \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0444\u043e\u0440\u043c\u0430\u0442\u0430\u0445 "+PIC_ACCEPTED_FORMATS+"."},{hideFileList:true,xtype:"Application.components.multiuploadPanel",uploadHandler:RPC_nsi.Position.addFile,deleteHandler:RPC_nsi.Position.removeFile,id:files_id,simultaneousUpload:true,autoUpload:true,listeners:{beforeupload:function(cmp){if(!isEmpty(component.position_id))cmp.uploadParams.position_id=component.position_id; cmp.uploadParams.procedure_id=component.procedure_id||0;cmp.uploadParams.type=1},uploadcomplete:function(result,action){component.fireEvent("uploadcomplete",result)}}}]}],listeners:{idchanged:function(id){this.procedure_id=id}}});Application.components.imgUploadForm.superclass.initComponent.call(this)}});Ext.define("Application.components.keyValuePanel",{extend:"Ext.form.FieldSet",cls:"keyvalue-panel-table",hideBorders:true,noValueText:"\u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e",captionCls:"th",initComponent:function(){this.fieldKeys=[];if(!Ext.isObject(this.fields))this.fields={};if(!Ext.isObject(this.templates))this.templates={};else for(var k in this.templates)if(Ext.isString(this.templates[k]))this.templates[k]=new Ext.XTemplate(this.templates[k]);this.initValues();this.addEvents("dataload"); this.doFields();this.on("render",function(){var values=this.getValues();this.setValues(values)});Application.components.keyValuePanel.superclass.initComponent.call(this)},doFields:function(){if(undefined===this.items)this.items=[];for(var k in this.fields){if(!this.fields.hasOwnProperty(k))continue;if(undefined!==this.fieldKeys[k])continue;this.fieldKeys[k]=1;if(null!=this.fields[k]&&!!this.fields[k].xtype){if(this.rendered)this.add(this.fields[k]);else this.items.push(this.fields[k]);continue}var label= {xtype:"panel",key:k+"-row",layout:"table",cls:"spaced-bottom-shallow",defaultType:"label",layoutConfig:{columns:2},items:[{key:k+"-caption",cellCls:this.captionCls,html:this.formatTitle(this.fields[k])},{key:k}]};if(this.rendered)this.add(label);else this.items.push(label)}if(this.rendered)this.doLayout()},loadData:function(data){this.fireEvent("dataload",data);this.setValues(data);return this},initValues:function(){if(this.values!==undefined)this.setValues(this.values);else this.values={}},getValues:function(){return this.values|| {}},getStoreValues:function(){return this.store_values||{}},setValues:function(values){this.store_values=values;if(Ext.isObject(values))for(var k in this.fields)this.setValue(k,values);return this},setValue:function(k,values){if(!this.fields.hasOwnProperty(k))return;if(Ext.isEmpty(values[k])&&(!this.fieldsShowAlways||this.fieldsShowAlways.indexOf(k)<0)){if(this.rendered){var empty_block=this.items.find(function(item){return item.key==k+"-row"});if(empty_block)empty_block.hide()}return}this.values[k]= values[k]||"";if(k=="not_dishonest"&&values[k]==0)this.values[k]=values[k];if(this.items){var label=this.items.find(function(item){return item.key==k+"-row"});if(label){var textField=label.getComponent(1);if(textField)if(typeof this.values[k]!="object"){var text=this.formatValue(k,this.values);textField.setText(text,false)}else{label.remove(textField);label.add(this.values[k])}label.show()}}},setValueByField:function(k){if(Ext.isObject(this.store_values))this.setValue(k,this.store_values)},getDataByField:function(k){if(Ext.isObject(this.store_values))return this.store_values[k]}, formatTitle:function(name){if(name&&name.length>0)if(":"!==name.charAt(name.length-1))return name+":";return name},formatValue:function(name,values){var text=values[name];if(!Ext.isEmpty(text)||this.fieldsShowAlways&&this.fieldsShowAlways.indexOf(name)>=0)if(this.templates&&this.templates[name])if(Ext.isFunction(this.templates[name]))text=this.templates[name](text,this);else text=this.templates[name].apply(this.values);else if(Ext.isDate(text))text=Ext.util.Format.localDateText(text);if(Ext.isEmpty(text))text= this.noValueText;return text+""},hideKey:function(key){var changed=false;this.items.each(function(i){if(i.key==key+"-row"||i.key==key){changed=true;i.hide()}});if(changed)this.doLayout()},hideKeyForced:function(key){var changed=false;this.items.each(function(i){if(i.key==key+"-row"||i.key==key){changed=true;i.getComponent(0).hide();i.getComponent(1).hide()}});if(changed)this.doLayout()}});Ext.define("Application.components.linkButton",{extend:"Ext.panel.Panel",alias:"widget.linkButton",border:false,frame:false,handler:null,listeners:{render:function(){var cmp=this;cmp.html=cmp.text;cmp.getEl().on("click",function(){if(!!cmp.handler)!!cmp.handler.call(cmp);cmp.fireEvent("click")})}},autoEl:"a",style:"text-decoration: none; border-bottom: 1px dashed; cursor: pointer; white-space: nowrap; font-size: 0.9em; background: transparent;"});var lotDataInitObject={autoHeight:true,initComponent:function(){this.mode=this.shortInfo?"withproc-short":"withproc";this.panel_id=Ext.id();this.addEvents("lotloaded");var cmp=this;Ext.apply(this,{title:"\u041e\u0431\u0449\u0438\u0435 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e \u043b\u043e\u0442\u0435",labelWidth:300,defaults:{anchor:"100%",defaults:{anchor:"100%"}},items:[{xtype:"panel",autoHeight:true,id:this.panel_id}],listeners:{lotloaded:function(data){var lotFields=Application.models.Lot.getLotFields(data.procedure_type, cmp.mode,data);var lotTemplates=Application.models.Lot.getLotTemplates();var lotItems=Application.models.Lot.getLotPanelItems(data.lot,data,lotFields,lotTemplates,cmp.mode);var lotPanel=Ext.getCmp(cmp.panel_id);if(data.paper_form)lotPanel.add({xtype:"fieldset",hideTitle:true,style:"margin: 5px; background-color: red;border: none; color: #fff",anchor:"100%",border:false,layout:"anchor",html:"\u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0435 \u0432 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435. \u041f\u043e\u0440\u044f\u0434\u043e\u043a \u043f\u043e\u0434\u0430\u0447\u0438 \u0437\u0430\u044f\u0432\u043e\u043a \u0443\u043a\u0430\u0437\u0430\u043d \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043a \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0435."}); lotPanel.add(lotItems);lotPanel.doLayout()}}});Application.components.lotDataPanel.superclass.initComponent.call(this)}};Ext.define("Application.components.lotDataPanel",Ext.apply({extend:"Ext.Panel"},lotDataInitObject));Ext.define("Application.components.lotDataFieldSet",Ext.apply({extend:"Ext.form.FieldSet",bodyCssClass:"subpanel"},lotDataInitObject));Ext.define("Application.components.multiSelectCombo",{extend:"Ext.form.CompositeField",readOnly:false,store:null,valueField:"id",displayField:"name",depKey:null,spacer:{xtype:"box",html:" ",width:5},initComponent:function(){var me=this;me.ids=initIds(["add","combo","container"]);me._values={};Ext.apply(me,{items:[{xtype:"panel",autoHeight:true,items:[{xtype:"container",layout:"hbox",hidden:me.readOnly,items:[{xtype:"combo",id:me.ids.combo,flex:1,store:me.store,editable:false,valueField:me.valueField, displayField:me.displayField,triggerAction:"all",submitValue:false,hidden:me.readOnly,disabled:me.readOnly,value:null,listeners:{scope:me,change:me.updateAddButton,select:me.updateAddButton}},Ext.apply(me.spacer,{hidden:me.readOnly}),{xtype:"button",id:me.ids.add,text:"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c",width:70,hidden:me.readOnly,disabled:true,scope:me,handler:me.onItemAdd}]},{xtype:"container",id:me.ids.container,items:[]}]}]});Application.components.multiSelectCombo.superclass.initComponent.call(me); me.store.on("load",me.filterStore,me)},getValue:function(){return this.getValues()},setValue:function(value){this.setValues(value)},getValues:function(){var me=this,selected=me.getCombo().getValue(),result=[];if(selected&&!Ext.isDefined(me._values[selected]))result.push(me.setItemValue(selected));Ext.iterate(me._values,function(value){result.push(me.setItemValue(value))});return result},setValues:function(values){var me=this,setFunction=function(){Ext.iterate(values,function(item){var id=me.getItemValue(item); me.addItem(me.store.getById(id))})};ensureStoreLoaded(me.store,setFunction,me)},addItem:function(record){var me=this;me._values[record.get(me.valueField)]=true;me.filterStore();me.getItemsContainer().add(me.getItemConfig(record));me.getCombo().setValue(null);me.updateAddButton();me.getItemsContainer().doLayout();me.doLayout()},getCombo:function(){var me=this;return Ext.isDefined(me._combo)?me._combo:me._combo=Ext.getCmp(me.ids.combo)},getAddButton:function(){var me=this;return Ext.isDefined(me._add)? me._add:me._add=Ext.getCmp(me.ids.add)},getItemsContainer:function(){var me=this;return Ext.isDefined(me._container)?me._container:me._container=Ext.getCmp(me.ids.container)},getItemConfig:function(record){var me=this;return{xtype:"container",layout:{type:"hbox",align:"middle",padding:"5 0 0 0"},items:[{xtype:"displayfield",itemId:"name",value:!!record?record.get(me.displayField):null,flex:1,padding:""},Ext.apply(me.spacer,{hidden:me.readOnly}),{xtype:"button",text:"\u0423\u0434\u0430\u043b\u0438\u0442\u044c", width:70,hidden:me.readOnly,scope:me,handler:me.onItemDelete},{xtype:"hidden",itemId:"id",value:!!record?record.get(me.valueField):null}]}},onItemAdd:function(){var me=this,value=me.getCombo().getValue();if(me.readOnly||Ext.isEmpty(value))return;me.addItem(me.store.getById(value))},onItemDelete:function(button){var me=this;delete me._values[button.ownerCt.getComponent("id").getValue()];me.filterStore();me.getItemsContainer().remove(button.ownerCt);me.getItemsContainer().doLayout();me.doLayout()}, updateAddButton:function(){var me=this;if(me.readOnly)return;me.getAddButton().setDisabled(Ext.isEmpty(me.getCombo().getValue()))},filterStore:function(){var me=this;me.store.clearFilter();me.store.filterBy(me.getFilterFunction())},getFilterFunction:function(){var me=this;return function(record){return!Ext.isDefined(me._values[record.get(me.valueField)])}},getItemValue:function(item){var me=this;if(me.depKey)return item[me.depKey];return item},setItemValue:function(id){var me=this;if(me.depKey){var result= {};result[me.depKey]=id;return result}return id}});Ext.define("Application.components.multiuploadPanel",{extend:"Ext.panel.Panel",withDescr:true,comboDescr:false,files:[],uploadText:false,uploadParams:{},hideUploadFields:false,autoUpload:false,simultaneousUpload:false,uploadHandler:null,deleteHandler:null,uploadName:"file",allowBlank:true,initComponent:function(){var component=this,uploaded_files_id=Ext.id(),upload_panel_id=Ext.id(),fileitems=[],fixedComponent=!Ext.isEmpty(component.flex);this.addEvents(["beforeupload","uploadcomplete","deletecomplete"]); if(fixedComponent)Ext.apply(component,{layout:{type:"vbox",align:"stretch"}});var items=[];if(this.items)items.push.apply(items,this.items);if(!this.uploadText)this.uploadText=this.autoUpload?"\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0444\u0430\u0439\u043b":"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0444\u0430\u0439\u043b";var fileviewerConfig={xtype:"panel",border:false,id:uploaded_files_id,cls:"shallowsubpanel",items:fileitems, autoHeight:true};if(fixedComponent){fileviewerConfig.flex=1;fileviewerConfig.autoHeight=false;fileviewerConfig.autoScroll=true}var uploaderConfig={xtype:"Application.components.UploadFilePanel",autoHeight:true,hidden:!!component.hideUploadFields,id:upload_panel_id,ref:"uploadPanelCmp",withDescr:this.withDescr,comboDescr:this.comboDescr,allowCancel:false,allowMultiple:component.autoUpload,requiredDescr:component.requiredDescr!==undefined?component.requiredDescr:true,requiredMark:component.requiredMark!== undefined?component.requiredMark:false,required:!!component.required||!component.allowBlank?true:false,uploadText:this.autoUpload?this.uploadText:"\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0444\u0430\u0439\u043b",monitorValid:this.autoUpload,isValidFile:function(){return this.isFileAttached()},isValid:function(){return Ext.isFunction(component.isValid)?component.isValid():true},listeners:{fileselected:function(){if(component.autoUpload)uploadFn()}}};if(!!component.hideUploadFields&&fileitems.length< 1)this.activeItem=1;items.push(fileviewerConfig,uploaderConfig);var uploadFn=function(){var upload=Ext.getCmp(upload_panel_id);if(upload.isValidFile()){if(false===component.fireEvent("beforeupload",component))return;var params=component.uploadParams;params.descr=upload.getDescription();var el={tag:"div",style:"visibility: hidden; display:none;"};el=Ext.DomHelper.append(Ext.getBody(),el);var input=Ext.get(upload.getFilePanel().getFileInputId()).dom;input.setAttribute("name",component.uploadName+"[]"); var clean=function(){component.el.unmask();Main.app.un("rpcerror",clean);form.destroy();Ext.fly(el).remove();if(component.simultaneousUpload){component.remove(upload,true);component.doLayout()}else upload.reset()};var form=new Ext.form.FormPanel({renderTo:el,api:{submit:component.uploadHandler},baseParams:params,paramsAsHash:true,fileUpload:true,hidden:true,items:[{contentEl:input}],listeners:{actioncomplete:function(form,action){if(action&&action.result)if(action.result.success){if(!component.hideFileList){if(Object.prototype.toString.call(action.result.file)!== "[object Array]")action.result.file=[action.result.file];Ext.each(action.result.file,function(file){component.addFileInfo(file)})}}else echoResponseMessage(action.result);component.fireEvent("uploadcomplete",action.result,action);clean()},actionfailed:function(form,action){clean();if(action&&action.result)echoResponseMessage(action.result)}}});Main.app.on("rpcerror",clean);component.el.mask("\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0444\u0430\u0439\u043b\u0430","x-mask-loading");form.getForm().submit(); if(component.simultaneousUpload){component.items.items[1].hide();upload_panel_id=Ext.id();uploaderConfig.id=upload_panel_id;uploaderConfig.multiple=!!upload.multiple;component.add(uploaderConfig);component.doLayout()}}};var buttons=null;if(!this.autoUpload)buttons=[{xtype:"button",text:this.uploadText,handler:uploadFn}];Ext.apply(this,{items:items,buttons:buttons,listeners:{afterrender:function(c){if(!isEmpty(c.files))c.setValues(c.files)}},addFileInfo:function(file){var panel=Ext.getCmp(uploaded_files_id); panel.add(this.getFileInfoPanel(file));panel.doLayout()},getFilesInfo:function(){var info=[];var panel=Ext.getCmp(uploaded_files_id);panel.items.each(function(i){if(i.file)info.push(i.file)});return info},removeFileInfo:function(f,delete_draft){var panel=Ext.getCmp(uploaded_files_id);if(!panel)return false;delete_draft=delete_draft||false;panel.items.each(function(i){var result=false;if(Ext.isFunction(f))result=f(i.file);else result=i.file===f;if(result)if(delete_draft){var file=i.file;file["delete_draft"]= true;i.update(component.getFileInfoPanel(file))}else panel.remove(i)})},deleteFile:function(f){var cmp=this;var onDelete=function(r){if(r.success){cmp.removeFileInfo(f,r["delete_draft"]||false);cmp.fireEvent("deletecomplete",f)}else echoResponseMessage(r)};if(this.deleteHandler)this.deleteHandler(f,onDelete);else onDelete({success:true})},removeAllInfo:function(){this.removeFileInfo(function(){return true})}});Application.components.multiuploadPanel.superclass.initComponent.call(this)},getFileInfoPanel:function(file){return getFileInfoPanel(file, {deleteHandler:this.deleteHandler&&(!!this.deleteHandler||file.actual!==true)?this.deleteFile.createDelegate(this):false},false)},getFileInfoHtml:getFileInfoHtml,setValues:function(v){if(!v)return;this.removeAllInfo();for(var i=0;i<v.length;i++)this.addFileInfo(v[i])},reset:function(){this.removeAllInfo()},getValues:function(){return this.getFilesInfo()},isValid:function(){if(!this.required&&this.allowBlank!==false)return true;var files=this.getValues();if(isEmpty(files))return false;var possible_files= 0;Ext.iterate(files,function(file){if(isEmpty(file["date_removed"])&&!file["delete_draft"])possible_files++});return possible_files>0}});Ext.define("Application.components.nomenclaturePanel",{extend:"Ext.form.FieldSet",initComponent:function(){var component=this;this.addEvents("nomenclatureselected");Ext.apply(this,{style:"padding-top: 0px; padding-bottom: 0px;",items:[],buttons:[{text:"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u0437\u0438\u0446\u0438\u044e",handler:function(){var win=new Application.components.nomenclatureWindow({type:component.type||"okdp"});component.relayEvents(win,["nomenclature_selected"]); win.show()}}],listeners:{nomenclature_selected:function(n){component.addNomenclature(n);component.doLayout()}},addNomenclature:function(n){component.add({layout:"column",cls:"spaced-panel",bodyCssClass:"subpanel",border:true,items:[{columnWidth:1,xtype:"panel",layout:"form",border:false,hideTitle:true,cls:"spaced-cell",html:(n.id||n.code)+": "+n.full_name},{xtype:"button",text:"\u0423\u0434\u0430\u043b\u0438\u0442\u044c",cls:"spaced-cell",handler:function(){var p=this.findParentByType("panel");component.remove(p)}}], nomenclature:{code:n.id||n.code,name:n.text,full_name:n.full_name,path:n.path},name:"nomenclature[]",getValue:function(){return this.nomenclature}})},setValue:function(v){if(!v)return;this.items.each(function(c){if(c.nomenclature)component.remove(c)});for(var i=0;i<v.length;i++)this.addNomenclature(v[i]);component.doLayout()}});Application.components.nomenclaturePanel.superclass.initComponent.call(this);autoSetValue(this)}});Ext.define("Application.components.nomenclatureTree",{extend:"Ext.tree.Panel",useArrows:true,autoScroll:true,animate:true,containerScroll:true,type:this.type||"okdp",border:false,initComponent:function(){var component=this;this.addEvents("nomenclature_selected");this.rootName=this.type=="okdp"?"D":"0";var direct_fn;if(component.type=="contragent_categories")direct_fn=RPC.Reference.categories;else if(component.type=="procedure_subject_codes")direct_fn=RPC.Reference.subjectcodes;else if(component.type== "procedure_inner_classification")direct_fn=RPC.Reference.innerclassification;else if(component.type=="okved")direct_fn=RPC.Reference.okved2;else direct_fn=RPC.Reference.nomenclature;Ext.apply(this,{loader:new Ext.tree.TreeLoader({directFn:function(n,cb){direct_fn({node:n,type:component.type},cb)},baseParams:{type:this.type,for_combo:false}}),rootVisible:false,root:{expanded:true,id:this.rootName},listeners:{load:function(node){component.unmask();if(node&&node.childNodes)for(var i=0;i<node.childNodes.length;i++){var n= node.childNodes[i];if(n.leaf)n.iconCls="icon-silk-accept";n.name=n.text;if(["contragent_categories","procedure_subject_codes","procedure_inner_classification"].indexOf(component.type)<0)n.text=n.id+" "+n.text}},dblclick:function(node){if(node&&node.leaf){component.setNodeData(node);this.fireEvent("nomenclature_selected",node)}},render:function(){component.mask("\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430")}}});if(this.selection)this.on("afterrender",function(){this.selectPath(this.selection.path)}, this,{once:true});Application.components.nomenclatureTree.superclass.initComponent.call(this)},setNodeData:function(node){if(node){var txt=node.name;var n=node.parentNode;while(n&&this.rootName!==n.id){txt=n.name+" - "+txt;n=n.parentNode}node.full_name=txt;if(this.type=="okved")node.full_name=node.id+" "+node.name;node.path=node.getPath()}},mask:function(text){this.getEl().mask(text,"x-mask-loading x-move-down")},unmask:function(){this.getEl().unmask()},getSelectedObject:function(){var node=this.getSelectionModel().getSelectedNode(); if(node)this.setNodeData(node);return node}});Ext.define("Application.components.nomenclatureWindow",{extend:"Ext.Window",title:"\u0412\u044b\u0431\u043e\u0440 \u043d\u043e\u043c\u0435\u043d\u043a\u043b\u0430\u0442\u0443\u0440\u044b",constraint:true,hideAction:"close",autoSize:true,modal:true,selection:null,type:this.type||"okdp",initComponent:function(){var tree_id=Ext.id();var component=this;if(this.autoSize){this.width=Ext.getBody().getWidth()*.8;this.height=Ext.getBody().getHeight()*.9}this.addEvents("nomenclature_selected");this.addEvents("search"); Ext.apply(this,{layout:"fit",items:[{tbar:{xtype:"Application.components.searchToolbar",searchHelp:"\u041f\u043e\u0438\u0441\u043a \u043f\u043e \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u0443 \u043d\u043e\u043c\u0435\u043d\u043a\u043b\u0430\u0442\u0443\u0440",eventTarget:this},id:tree_id,xtype:"Application.components.nomenclatureTree",type:this.type,selection:this.selection,listeners:{nomenclature_selected:function(n){component.fireEvent("nomenclature_selected",n);component.close()}}}], buttons:[{text:"\u0412\u044b\u0431\u0440\u0430\u0442\u044c",handler:function(){var n=Ext.getCmp(tree_id).getSelectedObject();var txt=false;if(!n)txt="\u0412\u044b \u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u043b\u0438 \u043e\u0431\u044a\u0435\u043a\u0442 \u043d\u043e\u043c\u0435\u043d\u043a\u043b\u0430\u0442\u0443\u0440\u044b!";else if(!n.leaf)txt="\u0421\u043b\u0435\u0434\u0443\u0435\u0442 \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442 \u043d\u043e\u043c\u0435\u043d\u043a\u043b\u0430\u0442\u0443\u0440\u044b, \u0430 \u043d\u0435 \u0446\u0435\u043b\u044b\u0439 \u0440\u0430\u0437\u0434\u0435\u043b"; if(txt)Ext.Msg.alert("\u041e\u0448\u0438\u0431\u043a\u0430",txt);else{component.fireEvent("nomenclature_selected",n);component.close()}}},{text:"\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c",handler:function(){component.close()}}],listeners:{search:function(query){if(query){component.query=query;var tree=Ext.getCmp(tree_id);var s=tree.getSelectedObject();s=s?s.id:null;tree.mask("\u041f\u043e\u0438\u0441\u043a\u2026");RPC.Reference.nomenclatureSearch([query,s],component.type,function(resp){tree.unmask(); if(resp.success&&resp.result){tree.selectPath(resp.result);resp.message="\u0414\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 \u00ab\u0418\u0441\u043a\u0430\u0442\u044c\u00bb \u0435\u0449\u0435 \u0440\u0430\u0437"}var t=new Ext.QuickTip({html:resp.message|| "\u041d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043d\u0430\u0448\u043b\u043e\u0441\u044c"});t.showBy(tree.getTopToolbar().getEl())})}}}});Application.components.nomenclatureWindow.superclass.initComponent.call(this)}});Ext.define("Application.components.nowayPanel",{extend:"Ext.panel.Panel",autoHeight:true,frame:true,bodyCssClass:"locked-access"});Ext.define("Application.components.numberField",{extend:"Ext.form.TextField",maskRe:/\d|\s|[,.+\-]/,decimalSeparator:",",decimalPrecision:2,renderer:function(v){return number_format(v,{dec_point:this.decimalSeparator,decimals:this.decimalPrecision,thousands_sep:" "})},parser:function(v){return parsePrice(v)},allowNegative:false,allowZero:true,correctOnBlur:true,resetOnError:false,minValue:null,maxValue:null,oldValue:null,initComponent:function(){Application.components.numberField.superclass.initComponent.call(this); if(this.correctOnBlur)this.on("change",this.onChange)},setValue:function(value){var newvalue=value;if(!this.isValueEmpty(value)){newvalue=this.parser(value);newvalue=this.renderer(newvalue)}return Application.components.numberField.superclass.setValue.call(this,newvalue)},onChange:function(input,value,oldvalue){var newvalue=value;if(!this.isValueEmpty(value)){newvalue=this.parser(value);if(!input.resetOnError&&false===newvalue)return;newvalue=this.renderer(newvalue)}if(newvalue!=value)input.setValue(newvalue)}, isValueEmpty:function(value){return value===false||value===null||value===undefined||value===""},getValue:function(){var value=Application.components.numberField.superclass.getValue.call(this);if(this.isValueEmpty(value))return null;if(value!=this.oldValue){this.oldValue=value;this.fireEvent("change",this,value,this.oldValue)}return this.parser(value)},reset:function(){Application.components.numberField.superclass.setValue.call(this,"");this.clearInvalid()},validator:function(value){if(this.isValueEmpty(value))return true; value=this.parser(value);if(null!==this.minValue&&value<this.minValue)return"\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043d\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 \u0447\u0435\u043c "+Ext.util.Format.price(this.minValue,{decimalPrecision:this.decimalPrecision});if(null!==this.maxValue&&value>this.maxValue)return"\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043d\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0447\u0435\u043c "+ Ext.util.Format.price(this.maxValue,{decimalPrecision:this.decimalPrecision});if(false===value)return"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u043d\u044f\u0442\u044c \u0432\u0430\u0448 \u0432\u0432\u043e\u0434. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0447\u0438\u0441\u043b\u043e, \u043e\u0442\u0434\u0435\u043b\u044f\u044f \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0435 \u0437\u043d\u0430\u043a\u0438 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 \u0438\u043b\u0438 \u0442\u043e\u0447\u043a\u043e\u0439, \u0438 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u044f \u0442\u044b\u0441\u044f\u0447\u0438 (\u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e) \u043f\u0440\u043e\u0431\u0435\u043b\u0430\u043c\u0438"; if(!this.allowNegative&&value<0)return"\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c";if(!this.allowZero&&0==value)return"\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043d\u0435 \u043d\u0443\u043b\u0435\u0432\u044b\u043c";return true}});Ext.define("Application.components.okdpField",{extend:"Application.components.autocompleteField",emptyText:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0434 \u0438\u043b\u0438 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0437 \u041e\u041a\u0414\u041f",initComponent:function(){this.directFn=RPC.Reference.okdpSearch;this.storeValueField="okdp";Application.components.okdpField.superclass.initComponent.call(this)}});Ext.define("Application.components.OkeiCombo",{extend:"Application.components.combo",fieldLabel:"\u0415\u0434\u0438\u043d\u0438\u0446\u0430 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f",name:"okei",displayField:"name",valueField:"code",forceSelection:true,triggerAction:"all",mode:"local",autoLoad:true,allowBlank:true,renderer:function(record){var symbol=record["symbol"]||"";if(!isEmpty(symbol))return record["name"]+" ("+symbol+")";return record["name"]||""},initComponent:function(){this.store= getOkeiStore();this.listTpl=new Ext.XTemplate('<tpl for=".">'+'<div class="search-item {[xindex % 2 === 0 ? "x-even" : "x-odd"]}">'+"{values."+this.storeNameField+"} (<b>{values."+this.storeValueField+"}</b>)</div>"+"</tpl>");Application.components.OkeiCombo.superclass.initComponent.call(this)}});Ext.define("Application.components.okeiField",{extend:"Application.components.autocompleteField",emptyText:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0434 \u0438\u043b\u0438 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0437 \u041e\u041a\u0415\u0418",initComponent:function(){this.directFn=RPC.Reference.okeiSearch;this.storeValueField="code";this.storeNameField="name";this.storeRoot="rows";this.listTpl=new Ext.XTemplate('<tpl for=".">'+'<div class="search-item {[xindex % 2 === 0 ? "x-even" : "x-odd"]}">'+ "{values."+this.storeNameField+"} (<b>{values."+this.storeValueField+"}</b>)</div>"+"</tpl>");Application.components.okeiField.superclass.initComponent.call(this)}});Ext.define("Application.components.okopfField",{extend:"Application.components.autocompleteField",emptyText:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0434 \u0438\u043b\u0438 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0437 \u041e\u041a\u041e\u041f\u0424",initComponent:function(){this.directFn=RPC.Reference.listSearch;this.hideTrigger=false;this.minChars=0;this.editable=false;this.storeNameField="name";this.storeValueField="code";this.triggerAction= "all";this.storeRoot="rows";this.queryParams={"list":"okopf"};Application.components.okopfField.superclass.initComponent.call(this)}});Ext.define("Application.components.okpd2CompositeField",{extend:"Application.components.ListCompositeField",autocompleteXType:"Application.components.okpdField",autocompleteFieldConfig:{minChars:1,version:2},treeType:"okpd2",treeTitle:"\u0421\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a \u041e\u041a\u041f\u04142",allowBlank:true,initComponent:function(){var me=this;Application.components.okpd2CompositeField.superclass.initComponent.call(this)}});Ext.define("Application.components.okpdField",{extend:"Application.components.autocompleteField",version:1,initComponent:function(){Ext.apply(this,{directFn:this.getDirectFn(),emptyText:this.getEmptyText(),storeValueField:"code",storeRoot:"rows"});Application.components.okpdField.superclass.initComponent.call(this)},getVersionPostfix:function(){return this.version==1?"":this.version},getEmptyText:function(){return this.emptyText||String.format("\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0434 \u0438\u043b\u0438 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0437 \u041e\u041a\u041f\u0414{0}", this.getVersionPostfix())},getDirectFn:function(){var action=String.format("okpd{0}Search",this.getVersionPostfix());return this.directFn||RPC.Reference[action]}});Ext.define("Application.components.oktmoField",{extend:"Application.components.autocompleteField",emptyText:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0434 \u0438\u043b\u0438 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0437 \u041e\u041a\u0422\u041c\u041e",initComponent:function(){this.directFn=RPC.Reference.oktmoSearch;this.storeValueField="oktmo";Application.components.oktmoField.superclass.initComponent.call(this)}});Ext.define("Application.components.okvdField",{extend:"Application.components.autocompleteField",emptyText:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0434 \u0438\u043b\u0438 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0437 \u041e\u041a\u0412\u042d\u0414",initComponent:function(){this.directFn=RPC.Reference.okvdSearch;this.storeValueField="okved";Application.components.okvdField.superclass.initComponent.call(this)}});Ext.define("Application.components.okved2CompositeField",{extend:"Application.components.ListCompositeField",autocompleteXType:"Application.components.okvedField",autocompleteFieldConfig:{minChars:1,version:2},treeType:"okved2",treeTitle:"\u0421\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a \u041e\u041a\u0412\u042d\u04142",initComponent:function(){var me=this;Application.components.okved2CompositeField.superclass.initComponent.call(this)}});Ext.define("Application.components.okvedField",{extend:"Application.components.autocompleteField",version:1,initComponent:function(){Ext.apply(this,{directFn:this.getDirectFn(),emptyText:this.getEmptyText(),storeValueField:"code",storeRoot:"rows"});Application.components.okvedField.superclass.initComponent.call(this)},getVersionPostfix:function(){return this.version==1?"":this.version},getEmptyText:function(){return this.emptyText||String.format("\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0434 \u0438\u043b\u0438 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0437 \u041e\u041a\u0412\u042d\u0414{0}", this.getVersionPostfix())},getDirectFn:function(){var action=String.format("okved{0}Search",this.getVersionPostfix());return this.directFn||RPC.Reference[action]}});Ext.define("Application.components.percentField",{extend:"Application.components.numberField",decimalPrecision:1,parser:function(value){if(Ext.isString(value))value=value.replace("%","");var newvalue=parsePrice(value);var d=Math.pow(10,this.decimalPrecision);return Math.round(newvalue*d)/d},renderer:function(value){var ds=Ext.util.Format.numberFormat.decimalSeparator;var v=value+" %";if(ds!=".")v=v.replace(".",ds);return v}});Ext.define("Application.components.percentSlider",{extend:"Ext.form.CompositeField",minValue:0,maxValue:100,decimalPrecision:1,increment:.5,numberField:false,initComponent:function(){this.slider_id=Ext.id();var cmp=this;var items=[{xtype:"displayfield",value:this.leftTextValue||this.minValue+"%",flex:1,style:"text-align: right"},{xtype:"slider",id:this.slider_id,flex:4,decimalPrecision:this.decimalPrecision,increment:this.minIncrement||this.increment,disabled:this.disabled,value:this.value,minValue:this.minValue, maxValue:this.maxValue,plugins:new Ext.slider.Tip({getText:function(thumb){return thumb.value+"%"}})},{xtype:"displayfield",value:this.rightTextValue||this.maxValue+"%",flex:1,style:"margin-right: 5px"}];if(this.numberField){if(true===this.numberField)this.numberField={};this.number_id=Ext.id();items.unshift(Ext.apply({xtype:"Application.components.percentField",msgTarget:"qtip",allowNegative:false,hideLabel:true,flex:3,id:this.number_id,minValue:this.minValue,value:this.value||0,maxValue:this.maxValue}, this.numberField))}Ext.apply(this,{items:items,enableAnimation:true,cls:"cleanbackground",msgTarget:"qtip"});Application.components.percentSlider.superclass.initComponent.call(this);if(this.numberField)this.setupEvents()},getValue:function(){return Ext.getCmp(this.slider_id).getValue()},setValue:function(value){value=Number(value);if(this.numberField)return Ext.getCmp(this.number_id).setValue(value);return Ext.getCmp(this.slider_id).setValue(value)},updateRanges:Ext.emptyFn,setupEvents:function(){Ext.getCmp(this.number_id).on("change", function(el,value){var slider=Ext.getCmp(this.slider_id);value=Number(el.getValue());this.fixedNumber=true;slider.setValue(value,this.enableAnimation);this.fixedNumber=false},this);Ext.getCmp(this.slider_id).on("change",function(el,position){if(this.fixedNumber)return;Ext.getCmp(this.number_id).setValue(position)},this);this.on("sync",function(){var s=Ext.getCmp(this.slider_id);s.syncThumb()},this)},getSlider:function(){return Ext.getCmp(this.slider_id)},disable:function(){Application.components.percentSlider.superclass.disable.call(this); this.getSlider().disable()},enable:function(){Application.components.percentSlider.superclass.enable.call(this);this.getSlider().enable()}});Application.components.phonePanel=Ext.extend(Ext.form.CompositeField,{name:"",cls:"cleanbackground",allowBlank:true,showAdditionalNo:false,blankText:"\u043f\u043e\u043b\u0435 \u043d\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043e",msgTarget:"under",fieldLabel:"",initComponent:function(){var cls="x-form-text cleanborder cleanbackground";var component=this;var ready=false,validate=false;var cntry_id=Ext.id(),city_id=Ext.id(),number_id=Ext.id(),error_id=Ext.id(),add_number_id=Ext.id();var on_validation= false;if("side"===this.msgTarget)this.msgTarget=error_id;this.validator=function(value){var cntry=Ext.getCmp(cntry_id);var city=Ext.getCmp(city_id);var number=Ext.getCmp(number_id);var add_number=Ext.getCmp(add_number_id);var fields=[cntry,city,number,add_number];var i;if(component.allowBlank&&""===cntry.getValue()&&""===city.getValue()&&""===number.getValue()&&""==add_number.getValue()){if(on_validation)return true;on_validation=true;if(ready){component.validate();for(i=0;i<fields.length;i++)fields[i].validate()}else validate= true;on_validation=false;return true}if(!on_validation){on_validation=true;if(ready)component.validate();else validate=true;on_validation=false}if(""===value&&this.allowBlank!==true)return component.blankText;return true};var default_type={xtype:"textfield",hideLabel:true,width:80,validator:this.validator,enableKeyEvents:true,readOnly:this.readOnly,style:this.noneditable?"background: transparent; border: none;":"",cls:this.itemsCssClass,allowBlank:true,vtype:"digits"};if(this.value){if(Ext.isString(this.value)){var v= this.value.split("-");this.value={cntr_code:v[0]||null,city_code:v[1]||null,number:v[2]||null,add:v[3]||null}}}else this.value={};var goNextBlock=function(cmp,e){if(cmp.getValue().length>=cmp.maxLength||cmp.getId()==cntry_id&&cmp.getValue()=="7"||cmp.getId()==city_id&&cmp.getValue().length==3&&Ext.getCmp(cntry_id).getValue()=="7"){var nextcmp_id=null;if(cmp.getId()==cntry_id)nextcmp_id=city_id;else if(cmp.getId()==city_id)nextcmp_id=number_id;if(nextcmp_id){var nextcmp=Ext.getCmp(nextcmp_id);if(nextcmp&& nextcmp.isVisible())nextcmp.focus(true)}}};var values=[Ext.apply({},{name:this.name+"[cntr_code]",width:20,id:cntry_id,fieldLabel:"\u043a\u043e\u0434 \u0441\u0442\u0440\u0430\u043d\u044b",maxLength:3,listeners:{keyup:goNextBlock},value:"7"},default_type),Ext.apply({},{name:this.name+"[city_code]",width:35,id:city_id,fieldLabel:"\u043a\u043e\u0434 \u0433\u043e\u0440\u043e\u0434\u0430",maxLength:5,listeners:{keyup:goNextBlock}},default_type),Ext.apply({},{name:this.name+"[number]",id:number_id,fieldLabel:"\u043d\u043e\u043c\u0435\u0440 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430", minLength:5,maxLength:7},default_type),Ext.apply({},{name:this.name+"[add]",width:35,id:add_number_id,fieldLabel:"\u0434\u043e\u0431\u0430\u0432\u043e\u0447\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440",maxLength:6,allowBlank:true},default_type)];if(this.value.cntr_code)values[0].value=this.value.cntr_code;if(this.value.city_code)values[1].value=this.value.city_code;if(this.value.number)values[2].value=this.value.number;if(this.value.add)values[3].value=this.value.add;delete this.value;this.items= [{xtype:"displayfield",value:"+",cls:cls},values[0],{xtype:"displayfield",value:"(",cls:cls},values[1],{xtype:"displayfield",value:")",cls:cls},values[2],{xtype:"displayfield",value:"\u0434\u043e\u0431.",cls:cls},values[3]];if(this.msgTarget==error_id)this.items.push({xtype:"panel",anchor:"100%",height:50,cls:"x-form-invalid-msg",id:error_id});Application.components.phonePanel.superclass.initComponent.call(this);this.on("afterrender",function(){ready=true;if(validate)this.isValid()},this,{once:true}); this.on("valid",function(obj){var phone_val=obj.getValue();if(phone_val&&(phone_val.length<9||phone_val.length>20))obj.markInvalid("\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u044f "+this.fieldLabel.replace(REQUIRED_FIELD,"")+" \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043e\u0442 7 \u0434\u043e 14 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432")})},getValue:function(){var v=[];this.items.each(function(c){if("textfield"==c.xtype)v.push(c.getValue())}); v=v.join("-");if("---"==v)v=null;return v},setValue:function(v){if(v===null)v=[];else if(!v)return;if(Ext.isString(v))v=v.split("-");var i=0;this.items.each(function(c){if("textfield"==c.xtype){if(c.rendered)c.setValue(v[i]);else c.value=v[i];i++}})}});Ext.define("Application.components.priceField",{extend:"Application.components.numberField",decimalPrecision:2,parser:function(value){var newvalue=parsePrice(value);return Math.round(newvalue*100)/100},renderer:function(value){return Ext.util.Format.price(value)}});Ext.define("Application.components.procedureDataPanel",{extend:"Ext.Panel",autoHeight:true,initComponent:function(){var component=this;var panelId=Ext.id();this.addEvents("procedureloaded");Ext.apply(this,{labelWidth:300,defaults:{anchor:"100%",defaults:{border:false,anchor:"100%",labelWidth:300}},bodyCssClass:"subpanel",items:[],listeners:{afterrender:function(){if(component.procedureAutoLoad&&component.tplData===undefined)RPC.Procedure.load(component.procedure_id,function(resp){component.fireEvent("procedureloaded", resp.procedure)});else component.fireEvent("procedureloaded",component.tplData)},procedureloaded:function(procedure){var dataPanel={xtype:"panel",id:panelId,tpl:getProcedureDataTemplate(),data:procedure};component.insert(0,dataPanel);component.doLayout()}}});Application.components.procedureDataPanel.superclass.initComponent.call(this)}});Ext.define("Application.components.procedureFindCombo",{extend:"Ext.form.ComboBox",fieldLabel:"\u041d\u043e\u043c\u0435\u0440 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b",typeAhead:false,hideTrigger:true,selectOnFocus:true,allowBlank:true,minChars:1,mode:"remote",displayField:"summary",valueField:"id",hiddenName:"procedure",listEmptyText:"\u041d\u0435\u0442 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440",tpl:'<tpl for="."><div class="search-item {[xindex % 2 === 0 ? "x-even" : "x-odd"]}">'+ "{text}"+"</div></tpl>",itemSelector:"div.search-item",store:null,storeBaseParams:{},initComponent:function(){if(Ext.isEmpty(this.name))this.name="procedure";this.hiddenName=this.name;if(this.store===null)this.store=createProcedureShortListStore(this.storeBaseParams);if(Ext.isString(this.tpl))this.tpl=new Ext.XTemplate(this.tpl.replace("{text}","{"+this.displayField+"}"));Application.components.procedureFindCombo.superclass.initComponent.call(this)}});Ext.define("Application.components.promptWindow",{extend:"Ext.Window",resizable:true,autoHeight:true,modal:true,layout:"fit",width:450,initComponent:function(){this.items=[{xtype:this.cmpType,autoHeight:true}];if(this.cmpParams){this.cmpParams.curWindow=this;Ext.apply(this.items[0],this.cmpParams)}Application.components.promptWindow.superclass.initComponent.call(this)}});Ext.define("Application.components.quantityField",{extend:"Application.components.numberField",zeroText:"\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043d\u0435 \u043d\u0443\u043b\u0435\u0432\u044b\u043c",inputText:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u043d\u044f\u0442\u044c \u0432\u0430\u0448 \u0432\u0432\u043e\u0434. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0447\u0438\u0441\u043b\u043e, \u043e\u0442\u0434\u0435\u043b\u044f\u044f \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0435 \u0437\u043d\u0430\u043a\u0438 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 \u0438\u043b\u0438 \u0442\u043e\u0447\u043a\u043e\u0439, \u0438 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u044f \u0442\u044b\u0441\u044f\u0447\u0438 (\u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e) \u043f\u0440\u043e\u0431\u0435\u043b\u0430\u043c\u0438", negativeText:"\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c",minValueText:"\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043d\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 \u0447\u0435\u043c",maxValueText:"\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043d\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0447\u0435\u043c", renderPrecision:true,allowFloat:true,allowBlank:false,allowZero:false,initComponent:function(){if(this.allowBlank)Ext.apply(this,{allowZero:true});Application.components.quantityField.superclass.initComponent.call(this)},parser:function(value){if(value=="")return 0;if(this.allowFloat)return parseFloat(value);else return parseInt(value)},renderer:function(value){if(this.allowBlank&&parsePrice(value)==0)return"";var tpl="0";if(this.allowFloat&&(this.renderPrecision||parsePrice(value).toString().indexOf(".")!= -1))tpl="0.00";return Ext.util.Format.number(value,tpl)},validator:function(value){value=this.parser(value);if(!this.allowNegative&&value<0)return this.negativeText;if(!this.allowZero&&0==value)return this.zeroText;if(null!==this.minValue&&value<this.minValue)return this.minValueText+" "+this.renderer(this.minValue);if(null!==this.maxValue&&value>this.maxValue)return this.maxValueText+" "+this.renderer(this.maxValue);if(false===value)return this.inputText;return true}});Ext.define("Application.components.searchToolbar",{extend:"Ext.panel.Panel",searchHelp:"\u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u043f\u043e\u0438\u0441\u043a",searchText:"\u0418\u0441\u043a\u0430\u0442\u044c",eventTarget:null,advancedSearch:null,advancedSearchText:"\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0439 \u043f\u043e\u0438\u0441\u043a",advancedSearchParams:null,advancedSearchActive:false,advancedSearchOnly:false,itemsAlign:"left",items:null,itemsBottom:null,border:true, searchTools:null,initComponent:function(){var component=this;var search_container_id=Ext.id();var search_button_id=Ext.id();var extended_search_id_fieldset=Ext.id();var cleaner_id=Ext.id();var cleaner_shown=false;var items=this.items;var itemsBottom=this.itemsBottom;this.ids={search_field:Ext.id(),extended_search:Ext.id(),extended_button:Ext.id()};var searchHandler=function(){var eventTarget;if(this.eventTarget)eventTarget=this.eventTarget;else eventTarget=this;var values=component.getValues();if(!component.advancedSearchOnly)eventTarget.fireEvent("search", values.query,values.advancedActive?values.advancedValues:{});else eventTarget.fireEvent("search",values.advancedValues)};if(!this.border)this.bodyCssClass="cleanborder";Ext.apply(this,{layout:"auto",frame:false,cls:"x-panel-mc",style:"padding: 0px",defaults:{border:false,frame:false,cls:"cleanborder"},items:[],doSearch:searchHandler});if(!this.advancedSearchOnly){var fastSearchPanel={layout:"hbox",xtype:"toolbar",items:[{xtype:"container",flex:1,height:20,id:search_container_id,layout:"anchor",items:[{xtype:"textfield", anchor:"100%",id:this.ids.search_field,emptyText:this.searchHelp,enableKeyEvents:true,stateful:this.state_id?true:false,stateId:this.state_id?this.state_id:null,stateEvents:["select","change","blur"],getState:function(){return{value:this.getValue()}},listeners:{change:function(field){field.updateCleaner()},staterestore:function(field){field.updateCleaner()},afterrender:function(field){field.updateCleaner()},blur:function(field){field.updateCleaner()},keydown:function(field,e){field.updateCleaner(); if(e.getKey()==e.ENTER)Ext.getCmp(search_button_id).handler.call(this)},scope:this},setValue:function(v){Ext.form.TextField.superclass.setValue.call(this,v);this.updateCleaner()},updateCleaner:function(){var cleaner=Ext.get(cleaner_id);if(cleaner){var v=this.getValue();if(v&&!cleaner_shown){cleaner.fadeIn(.5);cleaner_shown=true}else if(!v&&cleaner_shown){cleaner.fadeOut(.5);cleaner_shown=false;component.doSearch()}}else this.updateCleaner.defer(500,this)}}]},{text:this.searchText,id:search_button_id, style:"padding-left: 2px",handler:searchHandler,cls:"x-btn-text-icon",icon:"ico/search.png",scope:this}]};this.items.push(fastSearchPanel)}if(this.advancedSearch){this.advancedSearchDefaults=this.advancedSearchDefaults||{};Ext.apply(this.advancedSearchDefaults,{},{clearValue:this.itemClearValue});var extended_search=this.renderSearchForm();if(this.advancedSearchButtonAlign)extended_search.buttonAlign=this.advancedSearchButtonAlign;else extended_search.buttonAlign="center";extended_search.id=this.ids.extended_search; extended_search.items.push({xtype:"button",hidden:true,type:"submit",scope:this,handler:searchHandler});extended_search.keys=[{key:[Ext.EventObject.ENTER],scope:this,handler:searchHandler}];extended_search.buttons=[{text:this.searchText,handler:searchHandler,scope:this},{text:"\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u043f\u043e\u0438\u0441\u043a",scope:this,handler:function(){var search=Ext.getCmp(this.ids.extended_search);if(search)cleanFormItems(search);var sf=Ext.getCmp(this.ids.search_field); if(sf)sf.setValue("");searchHandler.call(this);component.fireEvent("clear")}}];this.items.push({id:extended_search_id_fieldset,layout:"form",hidden:!this.advancedSearchActive,items:[{xtype:"fieldset",title:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u043e\u0438\u0441\u043a\u0430",cls:"spaced-fieldset",style:"padding-bottom: 0",items:[extended_search]}]});if(!this.advancedSearchOnly)this.items[0].items.push({text:this.advancedSearchText, enableToggle:true,id:this.ids.extended_button,cls:"x-btn-text-icon",icon:"ico/settings1.png",pressed:this.advancedSearchActive,listeners:{toggle:function(btn,pressed){var panel=Ext.getCmp(extended_search_id_fieldset);if(!panel)return;if(component.eventTarget)component.eventTarget.fireEvent("statechanged");if(pressed!=component.advancedSearchActive){if(pressed)panel.show();else panel.hide();component.fireEvent("resize");if(component.eventTarget)component.eventTarget.doLayout()}component.advancedSearchActive= pressed}}})}else this.advancedSearchActive=false;if(items){if("left"==this.itemsAlign)this.items[0].items.unshift.apply(this.items[0].items,items);else this.items[0].items.push.apply(this.items[0].items,items);items=null}this.searchTools=this.searchTools||[];this.searchTools.push({id:"close",align:"right",hidden:true,handler:function(){Ext.getCmp(component.ids.search_field).setValue(null)},tip:"\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u043f\u043e\u043b\u0435",toolId:cleaner_id});if(this.searchTools&& this.searchTools.length)this.on("afterrender",function(){var search=Ext.getCmp(this.ids.search_field);var created_tools=[];if(search){search.on("afterrender",function(){var el=search.getEl();var left_padding=0;var right_padding=0;for(var i=0;i<this.searchTools.length;i++){var st=this.searchTools[i];var leftAlign=st.align=="left"?true:false;var classes=["x-search-tool-"+(leftAlign?"left":"right"),"x-tool","x-tool-"+st.id];var cfg={tag:"div",cls:classes.join(" ")};if(st.tip)cfg["ext:qtip"]=st.tip;if(st.toolId)cfg["id"]= st.toolId;if(st.extra)Ext.apply(cfg,st.extra);if(st.hidden)cfg.style="visibility: hidden; "+(cfg.style||"");if(leftAlign&&left_padding>0)cfg.style="left: "+left_padding*17+"px; "+(cfg.style||"");else if(right_padding>0)cfg.style="right: "+right_padding*19+"px; "+(cfg.style||"");var tool=el.insertSibling(cfg,leftAlign?"after":"before");created_tools.push(tool);if(st.handler)tool.on("click",st.handler,st.scope||this);if(leftAlign)left_padding++;else right_padding++}if(left_padding>0)el.setStyle("padding-left", left_padding*17+5+"px");if(right_padding>0)el.setStyle("padding-right",right_padding*19+5+"px")},this,{single:true});search.on("destroy",function(){for(var i=0;i<created_tools.length;i++)created_tools[i].remove();created_tools=[];this.searchTools=[]},this,{single:true})}},this,{single:true});if(itemsBottom)this.items.push(itemsBottom);Application.components.searchToolbar.superclass.initComponent.call(this)},renderSearchForm:function(){var items=this.advancedSearch;var params=this.advancedSearchParams|| {};var columns=params.columns||2;var i,n,t;if(this.advancedSearchDefaults)for(i=items.length-1;i>=0;i--)Ext.apply(items[i],{},this.advancedSearchDefaults);var form={xtype:"panel",autoHeight:true,layout:"column",cls:"cleanborder",bodyCssClass:"cleanborder",anchor:"-30",defaults:{layout:"form",border:false,xtype:"panel",cls:"cleanborder",bodyCssClass:"cleanborder",defaultType:"textfield",labelWidth:params.labelWidth||140},items:[]};for(i=0;i<columns-1;i++)form.items.push({bodyStyle:"padding:1px 18px 0 0", columnWidth:1/columns-.1/(columns-1),items:[]});form.items.push({columnWidth:1/columns+(columns>1?.1:0),items:[]});for(i=0;i<items.length;i++){n=i%columns;t=items[i];if(!t)continue;if("submit"==t.type)n=0;else{t.anchor=typeof t.anchor!="undefined"?t.anchor:"100%";t.fieldLabel="<b>"+t.fieldLabel+"</b>"}if(t.xtype&&t.xtype.indexOf("interval")>0){var cfg=Ext.apply({},t);var unset=["id","name","fieldLabel","fromText","tillText","labelStyle","tillAlign","fromValue","tillValue"];var extra={align:cfg.tillAlign}; for(var j=0;j<unset.length;j++)delete cfg[unset[j]];cfg.xtype=t.xtype.replace("interval",t.intervalType||"field");t={layout:"column",border:false,cls:"cleanborder",bodyCssClass:"cleanborder",xtype:"panel",defaults:{layout:"form",border:false,bodyCssClass:"cleanborder",xtype:"panel",labelWidth:form.defaults.labelWidth},items:[{items:[{width:100,name:t.name?t.name+"_from":undefined,id:t.id?t.id+"_from":undefined,format:t.format||"d.m.Y",fieldLabel:"<b>"+t.fieldLabel+" "+(t.fromText||"\u0441")+"</b>", value:t.fromValue,stateful:t.state_id?true:false,stateId:t.state_id?t.state_id+"_from":null,stateEvents:t.state_id?["select","change","blur"]:null,getState:function(){return{value:this.getValue()}},reset:function(){this.setValue(null);this.fireEvent("change")}}]},{labelWidth:35,items:[{xtype:cfg.xtype,width:100,name:t.name?t.name+"_till":undefined,id:t.id?t.id+"_till":undefined,format:t.format||"d.m.Y",fieldLabel:"<b>"+(t.tillText||"\u043f\u043e")+"</b>",labelStyle:"text-align: right;",value:t.tillValue, stateful:t.state_id?true:false,stateId:t.state_id?t.state_id+"_till":null,stateEvents:t.state_id?["select","change","blur"]:null,getState:function(){return{value:this.getValue()}},reset:function(){this.setValue(null);this.fireEvent("change")}}]}]};if("date"==extra.align)t.items[1].items[0].listeners={select:function(field,date){date.setHours(23,59);field.setValue(date)}};Ext.apply(t.items[0].items[0],cfg);Ext.apply(t.items[1].items[0],cfg)}form.items[n].items.push(t)}return form},itemClearValue:function(){this.reset(); if(typeof this.defaultValue!="undefined")this.setValue(this.defaultValue);else if(typeof this.initialConfig.value!="undefined")this.setValue(this.initialConfig.value);this.fireEvent("change")},getValues:function(){var values={advancedActive:!!this.advancedSearchActive};var cmp=this.ids.search_field?Ext.getCmp(this.ids.search_field):null;if(cmp)values.query=cmp.getValue();cmp=this.ids.extended_search?Ext.getCmp(this.ids.extended_search):null;if(cmp){values.advancedValues={};collectComponentValues(cmp, values.advancedValues)}return values},setValues:function(values){var cmp=this.ids.search_field?Ext.getCmp(this.ids.search_field):null;if(cmp)cmp.setValue(values.query?values.query:undefined);cmp=this.ids.extended_search?Ext.getCmp(this.ids.extended_search):null;if(cmp&&values.advancedValues)setComponentValues(cmp,values.advancedValues);cmp=this.ids.extended_button?Ext.getCmp(this.ids.extended_button):null;if(cmp&&values.advancedValues)cmp.toggle(values.advancedActive)}});Ext.define("Application.components.sliderField",{extend:"Ext.form.CompositeField",minValue:0,maxValue:1E3,increment:.5,numberParams:{},sliderParams:{},initComponent:function(){var me=this;this.ids={slider:Ext.id(),number:Ext.id()};var number=Ext.apply({xtype:"numberfield",msgTarget:"qtip",decimalPrecision:2,allowNegative:false},this.numberParams);Ext.apply(number,{id:this.ids.number,hideLabel:true,flex:3,minValue:this.minValue,maxValue:this.maxValue});var slider=Ext.apply({xtype:"slider",flex:4,decimalPrecision:1, increment:me.increment,plugins:new Ext.slider.Tip({getText:function(thumb){return thumb.value+" %"}})},this.sliderParams);Ext.apply(slider,{id:this.ids.slider,hideLabel:true});this.addEvents("sync");Ext.apply(this,{items:[number,{xtype:"displayfield",value:"0%",style:"text-align: right",flex:1},slider,{xtype:"displayfield",value:"100%",flex:1,style:"margin-right: 5px"}],enableAnimation:true,cls:"cleanbackground",msgTarget:"qtip"});Application.components.sliderField.superclass.initComponent.call(this); this.setupEvents()},getValue:function(){return Ext.getCmp(this.ids.number).getValue()},setValue:function(value){return Ext.getCmp(this.ids.number).setValue(value)},updateRanges:function(min,max){var n=Ext.getCmp(this.ids.number);min=min||0;max=max||0;this.minValue=min;this.maxValue=max;n.minValue=min;n.maxValue=max;this.enableAnimation=false;n.fireEvent("change",n,n.getValue());this.enableAnimation=true;n.isValid();this.getSlider().syncThumb()},setupEvents:function(){Ext.getCmp(this.ids.number).on("change", function(el,value){if(this.maxValue==this.minValue)return;var slider=Ext.getCmp(this.ids.slider);var position=0;value=el.getValue();if(Ext.isNumber(value))position=100*(value-this.minValue)/(this.maxValue-this.minValue);this.fixedNumber=true;slider.setValue(position,this.enableAnimation);this.fixedNumber=false},this);Ext.getCmp(this.ids.slider).on("change",function(el,position){if(this.fixedNumber||this.maxValue==this.minValue)return;var value=this.minValue+position/100*(this.maxValue-this.minValue); Ext.getCmp(this.ids.number).setValue(value)},this);this.on("sync",function(){var s=Ext.getCmp(this.ids.slider);s.syncThumb()},this)},getSlider:function(){return Ext.getCmp(this.ids.slider)},disable:function(){Application.components.sliderField.superclass.disable.call(this);this.getSlider().disable()},enable:function(){Application.components.sliderField.superclass.enable.call(this);this.getSlider().enable()},buildCombinedErrorMessage:function(errors){var combined=[],error;for(var i=0,j=errors.length;i< j;i++){error=errors[i];combined.push(String.format("{0}",error.error))}return combined.join("<br />")}});Ext.define("Application.components.sliderPanel",{extend:"Ext.Panel",numberParams:{},sliderParams:{},minValue:1,maxValue:1E3,initComponent:function(){this.ids={slider:Ext.id(),number:Ext.id()};var number=Ext.apply({xtype:"numberfield",msgTarget:"qtip",decimalPrecision:2,allowNegative:false},this.numberParams);Ext.apply(number,{id:this.ids.number});var slider=Ext.apply({xtype:"slider",flex:1,decimalPrecision:1,increment:this.minIncrement||.5,anchor:false,plugins:new Ext.slider.Tip({getText:function(thumb){return thumb.value+ " %"}})},this.sliderParams);Ext.apply(slider,{id:this.ids.slider,hideLabel:true,width:300});var sliderCmp=new Ext.form.CompositeField({fieldLabel:this.sliderParams.fieldLabel,width:this.sliderParams.width,items:[{xtype:"displayfield",value:this.leftTextValue||"0%",style:"text-align: right"},slider,{xtype:"displayfield",value:this.rightTextValue||"100%",style:"margin-right: 5px"}]});this.addEvents("sync");Ext.apply(this,{hideTitle:true,layout:"vbox",height:60,defaults:{layout:"form",labelWidth:300, defaults:{anchor:"100%"}},items:[{items:[number]},{items:[sliderCmp]}],enableAnimation:true,cls:"cleanbackground",msgTarget:"qtip"});Application.components.sliderPanel.superclass.initComponent.call(this);this.setupEvents()},getValue:function(){return Ext.getCmp(this.ids.slider).getValue()},setValue:function(value){if(value&&!Ext.isEmpty(value))this.enable();value=parseFloat(value);if(this.basicField){Ext.getCmp(this.ids.slider).setValue(value,this.enableAnimation);var basicFieldValue=Ext.getCmp(this.basicField).getValue(); value=basicFieldValue*value/100}return Ext.getCmp(this.ids.number).setValue(value)},updateRanges:function(min,max){var n=Ext.getCmp(this.ids.number);min=min||0;max=max||0;this.minValue=min;this.maxValue=max;n.minValue=min;n.maxValue=max;this.enableAnimation=false;n.fireEvent("change",n,n.getValue());this.enableAnimation=true;if(n.getValue()>0)n.isValid();this.getSlider().syncThumb()},setupEvents:function(){Ext.getCmp(this.ids.number).on("change",function(el,value){if(this.maxValue==this.minValue)return; var slider=Ext.getCmp(this.ids.slider);var position=0;value=el.getValue();if(Ext.isNumber(value)&&!this.basicField)position=100*(value-this.minValue)/(this.maxValue-this.minValue);else{var basicFieldValue=parsePrice(Ext.getCmp(this.basicField).getValue());position=value/basicFieldValue*100}this.fixedNumber=true;slider.setValue(position,this.enableAnimation);this.fixedNumber=false},this);Ext.getCmp(this.ids.slider).on("change",function(el,position){if(this.fixedNumber||this.maxValue==this.minValue)return; var value=this.minValue+position/100*(this.maxValue-this.minValue);if(this.basicField){var basicFieldValue=Ext.getCmp(this.basicField).getValue();value=basicFieldValue*value/1E3}Ext.getCmp(this.ids.number).setValue(value)},this);this.on("sync",function(){var s=Ext.getCmp(this.ids.slider);s.syncThumb()},this)},getSlider:function(){return Ext.getCmp(this.ids.slider)},disable:function(){Application.components.sliderPanel.superclass.disable.call(this);this.getSlider().disable()},enable:function(){Application.components.sliderPanel.superclass.enable.call(this); this.getSlider().enable()}});Ext.define("Application.components.TextSearchCombo",{extend:"Ext.form.ComboBox",filters:[],anyMatch:false,caseSensitive:false,doQuery:function(q,forceAll){q=Ext.isEmpty(q)?"":q;var qe={query:q,forceAll:forceAll,combo:this,cancel:false};if(this.fireEvent("beforequery",qe)===false||qe.cancel)return false;q=qe.query;forceAll=qe.forceAll;if(forceAll===true||q.length>=this.minChars)if(this.lastQuery!==q){this.lastQuery=q;if(this.mode=="local"){this.selectedIndex=-1;if(forceAll)this.store.clearFilter(); else if(this.filters&&this.filters.length)this.store.filter(this.filters);else this.store.filter(this.displayField,q,this.anyMatch,this.caseSensitive);this.onLoad()}else{this.store.baseParams[this.queryParam]=q;this.store.load({params:this.getParams(q)});this.expand()}}else{this.selectedIndex=-1;this.onLoad()}}});Ext.define("Application.components.timezoneCombo",{extend:"Ext.form.ComboBox",initComponent:function(){var timezonesStore=getTimezonesStore();Ext.apply(this,{hiddenName:"timezone",valueField:"phptz",displayField:"name",store:timezonesStore,value:"Europe/Moscow",mode:"local",typeAhead:true,minChars:3,forceSelection:true,triggerAction:"all",editable:true,selectOnFocus:false,listeners:{afterrender:function(){ensureStoreLoaded(timezonesStore,function(r){if(!this.isDestroyed&&!this.destroying)this.setValue("Europe/Moscow")}, this)}}});Application.components.timezoneCombo.superclass.initComponent.call(this)}});Ext.define("Application.components.treeLoader",{extend:"Ext.tree.Panel",useArrows:true,autoScroll:true,animate:true,containerScroll:true,border:false,type:null,rootName:"0",directFn:null,directSearchFn:null,textFormat:"{0} {1}",search:false,searchHelp:"\u041f\u043e\u0438\u0441\u043a",initComponent:function(){this.addEvents("selected");if(this.search)Ext.apply(this,{tbar:{xtype:"Application.components.searchToolbar",searchHelp:this.searchHelp,eventTarget:this}});Ext.apply(this,{loader:this.getTreeLoader(), rootVisible:false,root:{expanded:true,id:this.rootName},listeners:{scope:this,load:function(node){this.unmask();if(node&&node.childNodes)for(var i=0;i<node.childNodes.length;i++){var n=node.childNodes[i];if(n.leaf)n.iconCls="icon-silk-accept";n.name=n.text;if(this.textFormat)n.text=String.format(this.textFormat,n.id,n.text)}},dblclick:function(node){if(node&&node.leaf){this.setNodeData(node);this.fireEvent("selected",node)}},render:function(){this.mask("\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430")}}}); if(this.selection)this.on("afterrender",function(){this.selectPath(this.selection.path)},this,{once:true});Application.components.treeLoader.superclass.initComponent.call(this);this.on("search",this.searchHandler,this)},searchHandler:function(query){var key=this.type+"Search";var direct_fn=this.directSearchFn?this.directSearchFn:RPC.Reference[key];if(!Ext.isDefined(direct_fn)||!Ext.isFunction(direct_fn))throw"\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u043f\u043e \u0434\u0435\u0440\u0435\u0432\u0443"; if(query){var s=this.getSelectedObject();s=s?s.id:null;this.mask("\u041f\u043e\u0438\u0441\u043a\u2026");direct_fn([query,s],function(resp){this.unmask();if(resp.success&&resp.result){this.selectPath(resp.result);resp.message="\u0414\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 \u00ab\u0418\u0441\u043a\u0430\u0442\u044c\u00bb \u0435\u0449\u0435 \u0440\u0430\u0437"}var t= new Ext.QuickTip({html:resp.message||"\u041d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043d\u0430\u0448\u043b\u043e\u0441\u044c"});t.showBy(this.getTopToolbar().getEl())}.createDelegate(this))}},getTreeLoader:function(){var direct_fn=this.directFn?this.directFn:RPC.Reference[this.type];if(!Ext.isDefined(direct_fn)||!Ext.isFunction(direct_fn))throw"\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u043f\u043e \u0434\u0435\u0440\u0435\u0432\u0443"; return new Ext.tree.TreeLoader({directFn:function(n,cb){direct_fn({node:n,type:this.type},cb)}.createDelegate(this),baseParams:{type:this.type,for_combo:false}})},setNodeData:function(node){if(node){var txt=node.name;var n=node.parentNode;while(n&&this.rootName!==n.id){txt=n.name+" - "+txt;n=n.parentNode}node.full_name=txt;node.path=node.getPath()}},mask:function(text){this.getEl().mask(text,"x-mask-loading x-move-down")},unmask:function(){this.getEl().unmask()},getSelectedObject:function(){var node= this.getSelectionModel().getSelectedNode();if(node)this.setNodeData(node);return node}});Ext.define("Application.components.treeSelector",{extend:"Ext.form.FieldSet",name:"type",keyName:"type_id",addText:"\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435",addButtonText:"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c",emptyText:"\u042d\u043b\u0435\u043c\u0435\u043d\u0442 \u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u043d",textFormat:"{0}: {1}",windowWidth:700,windowHeight:400,windowAutoSize:true,treeRootName:"0",treeDirectFn:null,treeTextFormat:"{0} {1}",treeSearch:false,treeDirectSearchFn:null, treeSearchHelp:"\u041f\u043e\u0438\u0441\u043a",maxItems:0,initComponent:function(){this.tree_id=Ext.id();this.cc_current=Ext.id();this.text_empty=Ext.id();this.add_btn_id=Ext.id();var title=this.title;this.title=null;var addButton={xtype:"button",text:this.addButtonText,id:this.add_btn_id,scope:this,handler:this.addHandler};Ext.apply(this,{layout:"form",anchor:"100%",defaults:{anchor:"100%",allowBlank:false},autoHeight:true,frame:false,labelWidth:200,items:[{xtype:"container",layout:"column",fieldLabel:title, items:[{html:" ",columnWidth:1},addButton]},{xtype:"panel",border:false,id:this.cc_current,items:[{id:this.text_empty,bodyCssClass:"subpanel",cls:"spaced-panel",hidden:true,html:this.emptyText}],listeners:{scope:this,afterrender:function(){this.emptyTextShow();this.checkMaxItems();this.doLayout()}}}]});Application.components.treeSelector.superclass.initComponent.call(this)},addHandler:function(){var tree=new Application.components.treeWindow({width:this.windowWidth,height:this.windowHeight,autoSize:this.windowAutoSize, loaderConfig:{type:this.name,rootName:this.treeRootName,directFn:this.treeDirectFn,directSearchFn:this.treeDirectSearchFn,textFormat:this.treeTextFormat,search:this.treeSearch,searchHelp:this.treeSearchHelp},title:this.addText,type:this.name,keyName:this.keyName,listeners:{scope:this,itemselected:function(n){this.addCategory(n);this.emptyTextShow();this.checkMaxItems();this.doLayout()}}});tree.show()},emptyTextShow:function(){var cmp_cc=Ext.getCmp(this.cc_current);var cmp_te=Ext.getCmp(this.text_empty); if(this.emptyText!==false&&cmp_cc.items.length==1)cmp_te.setVisible(true);else cmp_te.setVisible(false)},checkMaxItems:function(){var btn=Ext.getCmp(this.add_btn_id);var cmp_cc=Ext.getCmp(this.cc_current);if(this.maxItems!=0&&cmp_cc.items.length-1>=this.maxItems)btn.setVisible(false);else{btn.setVisible(true);this.doLayout()}},getHtmlString:function(n){var code=n.id||n.code;return code?String.format(this.textFormat,code,n.full_name):n.full_name},addCategory:function(n){var panel={layout:"column", style:"margin-left: 10px",bodyCssClass:"subpanel",border:true,items:[{columnWidth:1,xtype:"panel",layout:"form",border:false,hideTitle:true,html:this.getHtmlString(n)},{xtype:"button",text:"\u0423\u0434\u0430\u043b\u0438\u0442\u044c",scope:this,handler:function(button){var p=button.findParentByType("panel");var cur_cat=p.getValue();if(Main.config.tree_selector_no_remove_message){p.destroy();this.emptyTextShow();this.checkMaxItems()}else Ext.Msg.confirm("\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435", "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u044d\u0442\u0443 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044e '"+(!Ext.isEmpty(cur_cat.name)?cur_cat.name:cur_cat.full_name)+"'?",function(b){if("yes"==b){p.destroy();this.emptyTextShow();this.checkMaxItems()}}.createDelegate(this))}}],name:this.name+"[]",getValue:function(){var obj={id:n.id,name:n.text,full_name:n.full_name, path:n.path};obj[this.keyName]=n[this.keyName];return obj}.createDelegate(this)};var cc_panel=Ext.getCmp(this.cc_current);cc_panel.add(panel)},removeAllCategories:function(){var cmp_cc=Ext.getCmp(this.cc_current);var cmp_te=Ext.getCmp(this.text_empty);cmp_cc.items.each(function(val){if(val.getId()!=cmp_te.getId())val.destroy()})},setValues:function(val){if(val){this.removeAllCategories();for(var prop in val)if(val.hasOwnProperty(prop))this.addCategory(val[prop]);this.emptyTextShow();this.checkMaxItems(); this.doLayout()}}});Ext.define("Application.components.treeWindow",{extend:"Ext.Window",modal:true,title:"\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435",type:"type",keyName:"type_id",autoSize:true,bodyStyle:"padding: 0",padding:0,loaderConfig:{},initComponent:function(){this.tree_id=Ext.id();this.addEvents("itemselected");this.addEvents("search");if(this.autoSize)Ext.apply(this,{width:Ext.getBody().getWidth()*.8,height:Ext.getBody().getHeight()*.9});var loader={xtype:"Application.components.treeLoader", style:"margin: 0",id:this.tree_id,selection:this.selection,border:true,listeners:{scope:this,selected:function(n){this.fireEvent("itemselected",this.idChange(n));this.close()}}};Ext.apply(loader,this.loaderConfig);Ext.apply(this,{bodyStyle:"padding: 10px",layout:"fit",items:loader,buttons:[{xtype:"button",text:"\u0412\u044b\u0431\u0440\u0430\u0442\u044c",scope:this,handler:this.selectHandler},{text:"\u0417\u0430\u043a\u0440\u044b\u0442\u044c",scope:this,handler:this.closeHandler}]});Application.components.treeWindow.superclass.initComponent.call(this)}, idChange:function(n){if(!Ext.isEmpty(n.id)){n[this.keyName]=n.id;delete n.id}return n},selectHandler:function(){var n=Ext.getCmp(this.tree_id).getSelectedObject();var txt=false;if(!n)txt="\u0412\u044b \u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u043b\u0438 \u043f\u0443\u043d\u043a\u0442!";else if(!n.leaf&&!Main.config.allow_select_top_level)txt="\u0421\u043b\u0435\u0434\u0443\u0435\u0442 \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u043f\u0443\u043d\u043a\u0442, \u0430 \u043d\u0435 \u0446\u0435\u043b\u044b\u0439 \u0440\u0430\u0437\u0434\u0435\u043b"; if(txt)Ext.Msg.alert("\u041e\u0448\u0438\u0431\u043a\u0430",txt);else{this.fireEvent("itemselected",this.idChange(n));this.close()}},closeHandler:function(){this.close()}});Application.components.UploadFilePanel=Ext.extend(Ext.Panel,{allowCancel:true,maxUploadSize:MAX_UPLOAD_SIZE,required:false,requiredDescr:false,uploadText:"\u041e\u0431\u0437\u043e\u0440",uploadLabel:"\u041f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443",labelWidth:140,multiple:false,allowMultiple:false,initComponent:function(){var component=this;if(this.fieldName)this.fieldname=this.fieldName;if(undefined!==this.allowBlank)this.required=!this.allowBlank;if(this.fieldname&&!this.descrName)this.descrName= this.fieldname+"_descr";if(!this.withDescr||this.allowBlank)this.monitorValid=false;this.addEvents("fileselected","multipleChanged");var monitorValidFn=function(valid){if(!component.monitorValid)return;var uploader=Ext.getCmp(component.uploadPanelId);var descr=Ext.getCmp(component.descrPanelId);if(valid||(!descr.isVisible()||!component.requiredDescr))uploader.enable();else uploader.disable()};var multiplieLinkCmp=Ext.id();var simpleLinkCmp=Ext.id();var multipleChangerPanel=Ext.id();component.docTypesStore= Application.models.Procedure.getDocTypesStoreFromRPC();var items=[];items.push({id:multipleChangerPanel,xtype:"panel",width:"100%",style:"padding: 0 0 3px 0;",layout:"hbox",items:[{xtype:"panel",flex:1},{id:multiplieLinkCmp,xtype:"Application.components.linkButton",text:"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432",hidden:!component.allowMultiple||component.multiple,listeners:{click:function(){if(Ext.isIE&& !Ext.isIE10p)return false;component.multiple=true;component.fireEvent("multipleChanged")},afterrender:function(){new Ext.ToolTip({target:this.el,showDelay:100,html:"\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430\u0445 (Internet Explorer \u0432\u0435\u0440\u0441\u0438\u0438 10.0 \u0438 \u0432\u044b\u0448\u0435, Chrome, Firefox)"}); Ext.QuickTips.init()},destroy:function(){Ext.QuickTips.unregister(this)}}},{id:simpleLinkCmp,xtype:"Application.components.linkButton",text:"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043e\u0434\u0438\u043d\u043e\u0447\u043d\u044b\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442",hidden:!component.allowMultiple||!component.multiple,listeners:{click:function(){component.multiple=false;component.fireEvent("multipleChanged")}}}]});if(this.withDescr&&this.comboDescr){this.descrPanelId= Ext.id();this.descrId=Ext.id();items.push({layout:"form",border:false,hideTitle:true,labelWidth:140,items:[{xtype:"combo",store:component.docTypesStore,displayField:"name",valueField:"name",editable:false,triggerAction:"all",anchor:"100%",id:this.descrPanelId,fieldLabel:"\u0424\u0430\u0439\u043b"+(component.required||component.requiredMark?REQUIRED_FIELD:""),allowBlank:!component.required&&!component.requiredDescr,name:this.descrName,listeners:{valid:function(){monitorValidFn(true)},invalid:function(){monitorValidFn(false)}, select:function(){if(this.getValue()=="\u041d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043e"){var tempId=Ext.getCmp(component.descrId);tempId.setDisabled(false);tempId.setVisible(true)}else{var tempId=Ext.getCmp(component.descrId);tempId.setDisabled(true);tempId.setVisible(false)}}}},{xtype:"textfield",anchor:"100%",disabled:false,hidden:true,id:this.descrId,fieldLabel:"\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430"+REQUIRED_FIELD, width:"98.6%",listeners:{valid:function(){monitorValidFn(true)},invalid:function(){monitorValidFn(false)}},maxLength:500}]})}else if(this.withDescr){this.descrPanelId=Ext.id();items.push({layout:"form",border:false,hideTitle:true,labelWidth:140,items:[{xtype:"textfield",anchor:"100%",id:this.descrPanelId,fieldLabel:"\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430"+(component.required||component.requiredMark?REQUIRED_FIELD:""),allowBlank:!component.required&& !component.requiredDescr,name:this.descrName,isValid:function(){return true},listeners:{valid:function(){monitorValidFn(true)},invalid:function(){monitorValidFn(false)}}}]})}this.uploadPanelId=Ext.id();items.push({layout:"column",border:1,items:[{columnWidth:1,xtype:"panel",layout:"form",border:false,hideTitle:true,labelWidth:component.labelWidth||140,items:[{xtype:"fileuploadfield",anchor:"100%",multiple:component.multiple,id:this.uploadPanelId,fieldLabel:function(){return component.uploadLabel+ (component.required||component.requiredMark?REQUIRED_FIELD:"")}(),name:component.fieldname?component.fieldname:undefined,border:false,allowBlank:!component.required,buttonText:this.uploadText,disabled:this.monitorValid,isValid:function(){return Ext.isFunction(component.isValid)?component.isValid():true},listeners:{fileselected:function(){if(this.checkFile())component.fireEvent("fileselected")}},checkFile:function(){var id=this.getFileInputId();var input=document.getElementById(id);var size;if(input&& input.files&&input.files[0])size=input.files[0].size;else if(input&&window.ActiveXObject)try{var myFSO=new ActiveXObject("Scripting.FileSystemObject");if(myFSO){var filepath=input.value;var thefile=myFSO.getFile(filepath);size=thefile.size}}catch(e){logException(e);size=undefined}if(size>MAX_UPLOAD_SIZE){Ext.Msg.alert("\u041e\u0448\u0438\u0431\u043a\u0430","\u0420\u0430\u0437\u043c\u0435\u0440 \u0444\u0430\u0439\u043b\u0430 "+Ext.util.Format.humanizeSize(size)+", "+"\u044d\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0433\u043e (\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u0444\u0430\u0439\u043b\u044b \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0434\u043e "+ Ext.util.Format.humanizeSize(MAX_UPLOAD_SIZE)+")");this.reset();return false}return true}}]}]});if(this.allowCancel)items[items.length-1].items.push({xtype:"button",cls:"upload_field_buttons_margin",text:"\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442",handler:function(){component.destroy()}});Ext.apply(this,{hideTitle:true,border:false,items:items,listeners:{afterrender:function(){if(component.allowMultiple)component.fireEvent("multipleChanged")},multipleChanged:function(){var multipleStatus= component.multiple;if(component.uploadPanelId&&!Ext.getCmp(component.uploadPanelId).rendered)return false;if(component.descrPanelId&&!Ext.getCmp(component.descrPanelId).rendered)return false;Ext.getCmp(multiplieLinkCmp).setVisible(!multipleStatus);Ext.getCmp(simpleLinkCmp).setVisible(multipleStatus);Ext.getCmp(multipleChangerPanel).doLayout();if(!isEmpty(component.descrPanelId))Ext.getCmp(component.descrPanelId).setVisible(!multipleStatus);Ext.getCmp(component.uploadPanelId).fireEvent("multipleChanged"); Ext.getCmp(component.uploadPanelId).label.update((multipleStatus?"\u041f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0430\u043c ":"\u041f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443")+(component.required||component.requiredMark?REQUIRED_FIELD:""));monitorValidFn(multipleStatus||!isEmpty(component.descrPanelId)&&Ext.getCmp(component.descrPanelId).getValue()!="");Ext.getCmp(component.uploadPanelId).wrap.down("input[type=file]").dom.multiple=multipleStatus}}});Application.components.UploadFilePanel.superclass.initComponent.call(this)}, reset:function(){var d=this.getDescrPanel();if(d)d.reset();var uploader=this.getFilePanel();uploader.reset();if(this.monitorValid)uploader.disable()},getDescrPanel:function(){if(this.descrPanelId){var tempCmp=Ext.getCmp(this.descrPanelId);if(tempCmp.getValue()=="\u041d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043e"&&this.comboDescr)return Ext.getCmp(this.descrId);else return tempCmp}return null},getFilePanel:function(){return Ext.getCmp(this.uploadPanelId)},getDescription:function(){var descr= this.getDescrPanel();return descr?descr.getValue():""},isValidFiles:function(){var descr=this.getDescrPanel();var valid=true;if(descr&&Ext.getCmp(this.descrPanelId).isVisible())valid=descr.isValid();var upload=Ext.getCmp(this.uploadPanelId);if(!upload.getValue())valid=false;return valid},isFileAttached:function(){var upload=Ext.getCmp(this.uploadPanelId);if(!upload)return false;var id=upload.getFileInputId();var input=document.getElementById(id);if(input&&(input.value||input.files&&input.files[0]))return true; return false}});Ext.define("Application.components.valueField",{extend:"Ext.panel.Panel",labelSeparator:":",initComponent:function(){this.html=this.formatValueString(this.value),Application.components.valueField.superclass.initComponent.call(this)},formatValueString:function(v,raw){if(v&&!Ext.isString(v))v=v.toString();return this.fieldLabel+this.labelSeparator+(v?" <b>"+(raw?v:v.escapeHtml())+"</b>":"")},setValue:function(v,raw){this.value=v;this.update(this.formatValueString(this.value,raw))},getValue:function(){return this.value}});Ext.define("Application.components.FormContainer",{extend:"Ext.panel.Panel",frame:false,padding:"0",border:false,bodyCssClass:"subpanel",initComponent:function(){Application.components.FormContainer.superclass.initComponent.call(this)},getValues:function(){var values={};collectComponentValues(this,values,true);return values},setValues:function(vals){setComponentValues(this,vals,true)}});Ext.define("Application.components.FormFieldsetContainer",{extend:"Ext.form.FieldSet",padding:"0",bodyCssClass:"subpanel",initComponent:function(){Application.components.FormFieldsetContainer.superclass.initComponent.call(this)},getValues:function(){var values={};collectComponentValues(this,values,true);return values},setValues:function(vals){setComponentValues(this,vals,true)}});Application.components.PopupInfoForm=Ext.extend(Ext.form.FormPanel,{initComponent:function(){var component=this;var cmp_width=component.cmp_width||500;var cmp_html=component.cmp_html||"";Ext.apply(this,{bodyCssClass:"subpanel-top-padding",bodyStyle:"padding-right: 6px",width:cmp_width,frame:true,items:[{xtype:"label",html:cmp_html}],buttons:[{text:"\u0417\u0430\u043a\u0440\u044b\u0442\u044c",handler:function(){component.curWindow.close()},scope:this}]});Application.components.PopupInfoForm.superclass.initComponent.call(this)}});Application.components.PromptForm=Ext.extend(Ext.form.FormPanel,{initComponent:function(){var component=this;function signForm(form,signField,success_fn){var formValues=form.getForm().getValues();var signatureValue="a";if(!checkSignatureResult(signatureValue))return false;var onSuccess=function(resp){echoResponseMessage(resp);if(success_fn)success_fn();else if(resp.redirect_url)redirect_to(resp.redirect_url);else if(resp.result.redirect_url)redirect_to(resp.result.redirect_url)};if(component.useFormHandler){form.getForm().findField("signature").setValue(signatureValue); form.getForm().submit({waitMsg:"\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435",success:function(form,result){onSuccess(result)}})}else{formValues.signature=signatureValue;var params={mask:true,wait_text:"\u041e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u043c \u043f\u043e\u0434\u043f\u0438\u0441\u044c..."};performRPCCall(form.api,[formValues],params,function(result){onSuccess(result)})}return true}var items=[];if(undefined!==this.items)if(Ext.isArray(this.items))items.push.apply(items, this.items);else items.push(this.items);items.push({xtype:"textarea",id:"signature_text",name:"signature_text",hideLabel:true,anchor:"100%",autoScroll:true,readOnly:true},{xtype:"hidden",name:"signature"});Ext.apply(this,{width:500,frame:true,items:[items],buttons:[{text:"\u0417\u0430\u043a\u0440\u044b\u0442\u044c",handler:function(){component.curWindow.close()},scope:this},{text:"\u041f\u043e\u0434\u043f\u0438\u0441\u0430\u0442\u044c",scope:this,formBind:true,handler:function(){signForm(this,"signature_text", function(){component.curWindow.close()})}}]});Application.components.PromptForm.superclass.initComponent.call(this);this.form.api={submit:component.api};this.form.waitMsgTarget=true}});Application.components.SignatureForm=Ext.extend(Ext.form.FormPanel,{frame:false,border:false,useFormHandler:true,signName:this.signatureTextName||"signature_text",isAutoSign:false,closeOnSuccess:false,echoResponseMessage:true,id:"signature_form",clicked:false,createHiddenFormItems:function(items){var resultItems=[];Ext.iterate(items,function(key,value){resultItems.push({xtype:"hidden",name:key,value:value})});return resultItems},initComponent:function(){var component=this;component.signName=this.signatureTextName|| "signature_text";var hideSignatureData=component.hideSignatureData||false;component.defaultLayout=component.defaultLayout||"anchor";component.showFieldset=component.showFieldset||false;component.labelWidth=component.labelWidth||200;component.isWriteable=component.isWriteable||false;var signButtonId=Ext.id();this.addEvents("dataSelected");this.addEvents("hideSignData");this.addEvents("showSignData");function signForm(form,signField,success_fn,failure_fn){if(!!component.clicked)return;component.clicked= true;var formValues=component.getFormValues(form);CryptoApi.signMessage({message:formValues[signField]},function(signatureValue){var onSuccess=function(resp){if(Main.config.save_is_only_information_message&&resp.success){Ext.Msg.show({title:t("\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u0438 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u044b \u0443\u0441\u043f\u0435\u0448\u043d\u043e"),msg:t(resp.message||resp.msg),icon:Ext.MessageBox.INFO}); (function(){Ext.MessageBox.hide()}).defer(2E3)}else{if(CryptoApi)CryptoApi.user_certificate=null;if(component.echoResponseMessage)echoResponseMessage(resp)}if(!resp.success&&(!resp.result||!resp.result.success)){if(failure_fn)failure_fn(resp);return}if(success_fn)success_fn(resp);else if(resp.redirect_url)redirect_to(resp.redirect_url);else if(resp.result.redirect_url)redirect_to(resp.result.redirect_url)};if(component.useFormHandler){form.getForm().findField("signature").setValue(signatureValue); form.getForm().submit({waitMsg:"\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435",success:function(form,result){component.clicked=false;onSuccess(result)},failure:function(form,resp){component.clicked=false;if(resp&&resp.result&&resp.result.message)echoResponseMessage(resp)}})}else{formValues.signature=signatureValue;formValues.perform_step_move=Ext.getCmp("perform_step_move").getValue();var params={mask:true,wait_text:"\u041e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u043c \u043f\u043e\u0434\u043f\u0438\u0441\u044c..."}; performRPCCall(form.api,[formValues],params,function(result){component.clicked=false;onSuccess(result)})}});return true}var items=[];if(undefined!==this.items)if(Ext.isArray(this.items))items.push.apply(items,this.items);else items.push(this.items);else if(!isEmpty(this.formItems))items.push.apply(items,this.createHiddenFormItems(this.formItems));items.push({xtype:"textarea",style:"margin: 5px 5px 2px",name:this.signName,id:this.signName,fieldLabel:t("\u0412\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0435\u0440\u0435\u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435"), hideLabel:true,hidden:hideSignatureData,height:this.signatureTextHeight?this.signatureTextHeight:600,readOnly:!component.isWriteable,value:this.signatureText},{xtype:"hidden",name:"signature"},{xtype:"hidden",name:"perform_step_move",id:"perform_step_move"});if(component.showFieldset)var showItems=new Ext.form.FieldSet({style:"padding: 12px 10px 10px 10px;",defaults:{blankText:"\u041f\u043e\u043b\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f", allowBlank:false,xtype:"textfield",anchor:"100%"},items:items});else showItems=items;var buttons=[];if(undefined!==this.buttons)if(Ext.isArray(this.buttons))buttons.push.apply(buttons,this.buttons);else buttons.push(this.buttons);buttons.push({text:"\u041d\u0430\u0437\u0430\u0434",hidden:component.backUrl?false:true,handler:function(){if(typeof component.backUrl=="string")redirect_to(component.backUrl);else component.backUrl()},scope:this},{ref:"../buttonSign",text:Translate._("\u041f\u043e\u0434\u043f\u0438\u0441\u0430\u0442\u044c"), scope:this,formBind:true,id:signButtonId,hidden:hideSignatureData,plugins:[Ext.ux.DisableDoubleClick],handler:function(){signForm(this,component.signName,component.success_fn,component.failure_fn)}});if(component.extraButtons&&Main.config.show_more_signature_buttons)buttons.push([{xtype:"button",text:"\u0423\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c \u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u0437\u0430\u043a\u0443\u043f\u043a\u0443",formBind:true,scope:this, handler:function(){signForm(this,component.signName,function(){redirect_to("po/procedure/new")})}},{xtype:"button",text:"\u0421\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u043f\u0438\u0441\u043a\u0443 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044e",formBind:true,scope:this,pseudo:"to_formed",handler:function(){var procId=this.getForm().findField("procedure_id").getValue();signForm(this,component.signName,function(){Application.models.Po_Procedure.shiftSteps([procId], 1,function(){if(procId)window.open("/po/report/toSupervisorReport/ids/"+procId)});redirect_to("po/procedure/my")})}}]);Ext.apply(this,{title:component.title?component.title:t("\u0412\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0435\u0440\u0435\u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435"),labelWidth:component.labelWidth, frame:true,autoScroll:true,fileUpload:true,layout:"form",defaults:{anchor:"100%"},items:showItems,buttonAlign:"right",buttons:buttons,listeners:{dataSelected:function(flag){Ext.getCmp(signButtonId).setDisabled(flag)},hideSignData:function(){Ext.getCmp(signButtonId).hide();Ext.getCmp(this.signName).hide()},showSignData:function(signText){Ext.getCmp(signButtonId).show();var s=Ext.getCmp(this.signName);s.show();s.setValue(signText)},afterrender:function(){var form=this;var additional=form.additional|| [];if(additional.length){var i=0;while(i<additional.length){var fld=additional[i];var hiddenField={xtype:"hidden",name:fld.nm,value:fld.val};form.add(hiddenField);i++}}}}});Application.components.SignatureForm.superclass.initComponent.call(this);this.form.api={submit:this.api};this.form.waitMsgTarget=true;if(this.isAutoSign)this.addListener("procedureInfoLoad",function(signPanel){var buttonSign=signPanel.buttonSign;buttonSign.el.dom.click()},this)},getFormValues:function(form){var formVal=form.getForm().getValues(); if(this.formValues)formVal=Object.assign({},formVal,this.formValues);return formVal}});Application.components.SignaturePanel=Ext.extend(Ext.Panel,{frame:true,border:false,autoHeight:true,initComponent:function(){var component=this;Ext.apply(this,{labelAlign:"top",autoScroll:true,layout:"form",defaults:{anchor:"100%"},items:[{xtype:"fieldset",cls:"shallowsubpanel",layout:"form",style:"margin: 10px",defaults:{anchor:"100%"},title:t("\u0412\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0435\u0440\u0435\u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435"), items:[{xtype:"textarea",style:"margin: 5px",name:component.cmptype+"_signature_text",hideLabel:true,id:component.cmptype+"_signature_text",height:600,readOnly:true}]}],getValues:function(){var v={};collectComponentValues(this,v,true);return v}});Application.components.SignaturePanel.superclass.initComponent.call(this)}});Ext.apply(Ext.form.VTypes,{password:function(value,field){if(field.initialPasswordField){var pwd=Ext.getCmp(field.initialPasswordField);this.passwordText="\u0412\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0435 \u0412\u0430\u043c\u0438 \u043f\u0430\u0440\u043e\u043b\u0438 \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442";return value==pwd.getValue()}this.passwordText="\u041f\u0430\u0440\u043e\u043b\u044c \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043a\u043e\u0440\u043e\u0447\u0435 5 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0438 \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u043d\u0443 \u0446\u0438\u0444\u0440\u0443 \u0438\u043b\u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b (!@#$%^&*()-_=+)"; var hasSpecial=value.match(/[0-9!@#\$%\^&\*\(\)\-_=\+]+/i);var hasLength=value.length>=5;return hasSpecial&&hasLength},passwordText:"\u041f\u0430\u0440\u043e\u043b\u044c \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043a\u043e\u0440\u043e\u0447\u0435 5 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0438 \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u043d\u0443 \u0446\u0438\u0444\u0440\u0443 \u0438\u043b\u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b (!@#$%^&*()-_=+)"}); Ext.apply(Ext.form.VTypes,{phone:function(val,field){var sPhoneMask=/^[+]?[0-9()\-\s]*$/;return sPhoneMask.test(val)},phoneText:"\u041d\u043e\u043c\u0435\u0440 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0446\u0438\u0444\u0440\u044b, \u043a\u0440\u0443\u0433\u043b\u044b\u0435 \u0441\u043a\u043e\u0431\u043a\u0438, \u0442\u0438\u0440\u0435 \u0438 \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u043f\u043b\u044e\u0441"}); Ext.apply(Ext.form.VTypes,{money:function(val,field){var sMoneyMask=/^[0123456789\.\s]*$/;return sMoneyMask.test(val)},moneyText:"\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0446\u0438\u0444\u0440\u044b \u0438 \u0442\u043e\u0447\u043a\u0443, \u043e\u0442\u0434\u0435\u043b\u044f\u044e\u0449\u0443\u044e \u0434\u0440\u043e\u0431\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u043e\u0442 \u0446\u0435\u043b\u043e\u0439"}); Ext.apply(Ext.form.VTypes,{digits:function(val,field){var sDigitsMask=/^[1234567890]*$/;return sDigitsMask.test(val)},digitsText:"\u0412\u0432\u043e\u0434\u0438\u0442\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0446\u0438\u0444\u0440\u044b \u0431\u0435\u0437 \u043f\u0440\u043e\u0431\u0435\u043b\u043e\u0432 \u0438 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0437\u043d\u0430\u043a\u043e\u0432"}); function validateINN(inn){if(""==inn)return true;if(inn.length==9)return true;var cksum=checkSumINN(inn);if(false!==cksum&&cksum==inn.substr(inn.length-cksum.length))return true;return false}Ext.apply(Ext.form.VTypes,{inn:function(val,field){return validateINN(val)},innText:"\u041d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u0418\u041d\u041d"}); Ext.apply(Ext.form.VTypes,{email:function(email){email=String(email);var atIndex=email.lastIndexOf("@");if(atIndex<0)return false;var domain=email.substr(atIndex+1);var local=email.substr(0,atIndex);var localLen=local.length;var domainLen=domain.length;if(localLen<1||localLen>64)return false;if(domainLen<1||domainLen>255)return false;if(local.charAt(0)=="."||local.charAt(localLen-1)==".")return false;if(local.indexOf("..")>=0)return false;if(!/^[A-Za-z0-9.\-]+$/.test(domain))return false;if(domain.indexOf("..")>= 0)return false;var domain_parts=domain.split(".");if(domain_parts.length<2)return false;if(domain_parts[domain_parts.length-1].length<2)return false;if(!/^(\\.|[A-Za-z0-9!#%&`_=\\/$'*+?^{}|~.-])+$/.test(local.replace("\\\\","")))if(!/^"(\\"|[^"])+"$/.test(local.replace("\\\\","")))return false;return true}});Ext.ns("Main");Ext.ns("Main.layout");Ext.ns("Main.user");Ext.ns("Main.contragent");Ext.ns("Main.direct"); function defaultErrorHandler(e,url,lineNumber){if(url){e+=" at "+url;if(lineNumber)e+=":"+lineNumber}if(typeof Ext!=undefined)if(Ext.debug)Ext.log("\u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430: "+e);else Ext.Msg.alert("\u041e\u0448\u0438\u0431\u043a\u0430","\u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043d\u0435\u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043d\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430. \u0422\u0435\u043a\u0441\u0442 \u043e\u0448\u0438\u0431\u043a\u0438:<br/>"+e); else alert(e);return false} Main.apply_acl=function(){var top_toolbar=null;switch(Main.user.role){case "user":var user_menues=Main.user.menues;var restricted_menus=null;if(isAdmin())restricted_menus=["company/view","company/viewShort","user/registerexpert","company/manualCreate"];if(isNoeds())restricted_menus=["contract/list"];if(restricted_menus)for(var prop in user_menues)if(user_menues.hasOwnProperty(prop)&&user_menues[prop]&&user_menues[prop].url&&restricted_menus.indexOf(user_menues[prop].url)>=0)user_menues[prop].url= "";top_toolbar=buildUserMenuBar(Main.user.mandates,user_menues);break;case "guest":break}if(Main.layout.top_toolbar){Main.layout.north_panel.remove(Main.layout.top_toolbar);Ext.destroy(Main.layout.top_toolbar);Main.layout.top_toolbar=null;if(!top_toolbar)Main.layout.north_panel.doLayout()}if(top_toolbar){Main.layout.top_toolbar=top_toolbar;if(Main.layout.north_panel&&Main.layout.north_panel.items){Main.layout.north_panel.insert(Main.layout.north_panel.items.getCount(),top_toolbar);Main.layout.north_panel.doLayout()}}if("guest"!= Main.user.role){Main.layout.root.doLayout();if(this.auth)this.auth.login({login:Main.user.login});else if(!this.isReady)this.onReady(function(){this.auth.login({login:Main.user.login})},this);this.acl.setErrorRedirect(null,null,{controller:"auth",action:"noaccess"})}else{if(top_toolbar)Main.layout.root.doLayout();if(this.auth)this.auth.logout();this.acl.setErrorRedirect(null,null,{controller:"auth",action:"login"})}if(Main.user.mandates&&Main.user.mandates.length){var type="user";if("guest"==Main.user.role)type= "guest";for(var i=0;i<Main.user.mandates.length;i++)this.acl.allow(type,Main.user.mandates[i].url)}}; Main.init_acl=function(){if(this.constructor.superclass)this.constructor.superclass.initAcl.call(this);else this.superclass.initAcl.call(this);this.acl.addRole(new Application.Acl.Role("user","guest"));this.acl.deny(null);this.acl.deny("guest");this.acl.deny("user");this.acl.reset();this.acl.allow("guest","front/index");this.acl.allow("user","front/index");this.acl.allow("guest","auth/noaccess");this.acl.allow("user","auth/noaccess");this.acl.allow("guest","auth/login");this.acl.allow("user","auth/logout"); Main.apply_acl.call(this)};Main.init_router=function(){this.constructor.superclass.initRouter.call(this);this.router.addRoute(new Application.Router.Route("module",":module/:controller/:action/*",{"module":"\\w*","controller":"\\w*","action":"\\w*"},"high"))}; Main.reloadPrivileges=function(doRedirect){if(doRedirect===undefined)doRedirect=true;var dparams={mask:true,wait_text:"\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u0440\u0438\u0432\u0438\u043b\u0435\u0433\u0438\u0439..."};performRPCCall(RPC.Index.index,[],dparams,function(resp){if(resp.success&&resp.user){Main.eds=resp.eds;Main.user=resp.user;Main.notifications=resp.notifications||[];Main.contragent=resp.contragent;Main.updateApis(resp.user)}else{Main.user.role="guest";Main.user.landing= "auth/login"}if(resp&&resp.auth_token)Main.requestToken=resp.auth_token;if(!!window["Raven"])Raven.setExtraContext({user_id:Main.user.id,contragent_id:Main.user.contragent_id,login:Main.user.login});Main.init_acl.call(Main.app);Main.apply_acl.call(Main.app);if(resp.success&&resp.contragent)Main.app.fireEvent("update_account_info",resp.contragent.available_sum,resp.contragent.available_credit_sum);else Main.app.fireEvent("update_account_info");if(!!doRedirect)redirect_to("/");if(Main.contragent.decisions)Main.app.fireEvent("decisions", false);if(Main.notifications)Main.app.fireEvent("notifications",false)})}; Main.direct.postData=function(provider,event){var msg;if(event&&event.result&&true==event.result.success&&true==event.result.force_access_reload){clearCookies();Main.reloadPrivileges(false)}if(event&&event.result&&false==event.result.success&&true==event.result.no_access)if(event.result.no_session)Main.reloadPrivileges();else{msg=event.result.message||event.result.msg||"\u0414\u043e\u0441\u0442\u0443\u043f \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d.";Ext.Msg.alert("\u041e\u0448\u0438\u0431\u043a\u0430", msg);if(Main&&Main.app)Main.app.fireEvent("rpcerror",event)}if(event&&"exception"==event.type){msg=event.message||event.msg||"\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044f\u044f \u043e\u0448\u0438\u0431\u043a\u0430.";var trace=event.where;var traceinfo="\u0441\u0442\u0435\u043a \u0432\u044b\u0437\u043e\u0432\u043e\u0432";if("parse"==event.code&&event.data){msg=event.data.name?event.data.name+": ":"";msg+=event.data.message;if(event.xhr&&event.xhr.responseText){trace=event.xhr.responseText; traceinfo="\u043e\u0442\u0432\u0435\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430"}else if(event.data.stack){trace=event.data.stack;traceinfo="\u043e\u0442\u0432\u0435\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430"}}else if(event.code=="xhr"&&(isEmpty(event["xhr"])||event["xhr"]["statusText"]=="communication failure"))msg="\u041e\u0448\u0438\u0431\u043a\u0430 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e \u043f\u043e\u0437\u0436\u0435"; var time=new Date;var details="<div>["+formatDate(time)+"] "+(event.action||"")+"."+(event.method||"")+"</div>";if(trace){trace=(trace||"").escapeHtml();trace=trace.replace(/\n/g,"<br/>\n");details+='<div id="server_response_link"><a href="javascript:;" onclick="Ext.get(\'server_response_link\').hide();Ext.get(\'server_response_text\').show();">\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c '+traceinfo+"</a></div>";details+='<div id="server_response_text" style="display:none;">'+trace+"</div>"}else details= "";Ext.MessageBox.show({buttons:Ext.MessageBox.OK,closable:true,width:750,maxWidth:1E3,title:"\u041e\u0448\u0438\u0431\u043a\u0430",msg:'<div class="ext-mb-icon ext-mb-error"></div>'+msg.toString()+details});if(Main&&Main.app)Main.app.fireEvent("rpcerror",event)}if(event&&event.warnings&&Ext.debug)(function(){var codes_map={1:"ERROR",2:"WARNING",4:"PARSE",8:"NOTICE",16:"CORE_ERROR",32:"CORE_WARNING",64:"COMPILE_ERROR",128:"COMPILE_WARNING",256:"USER_ERROR",512:"USER_WARNING",1024:"USER_NOTICE",2048:"STRICT", 4096:"RECOVERABLE_ERROR",8192:"DEPRECATED",16384:"USER_DEPRECATED"};var warnings=["Warnings in "+event.action+"."+event.method+":"];for(var i=0;i<event.warnings.length;i++){var w=event.warnings[i];warnings.push(" "+(codes_map[""+w.code]||w.code)+" "+w.message+" at "+w.location)}Ext.dump(warnings.join("\n"))})()};Main.direct.exception=function(){alert("exception")};Main.direct.getSecurityToken=function(){return Main.requestToken||""}; Ext.override(Ext.direct.RemotingProvider,{getCallData:function(t){return{action:t.action,method:t.method,data:t.data,type:"rpc",tid:t.tid,token:Main.direct.getSecurityToken()}},doForm:function(c,m,form,callback,scope){var t=new Ext.Direct.Transaction({provider:this,action:c,method:m.name,args:[form,callback,scope],cb:scope&&Ext.isFunction(callback)?callback.createDelegate(scope):callback,isForm:true});if(this.fireEvent("beforecall",this,t,m)!==false){Ext.Direct.addTransaction(t);var isUpload=String(form.getAttribute("enctype")).toLowerCase()== "multipart/form-data",params={extTID:t.tid,extAction:c,extMethod:m.name,extType:"rpc",extUpload:String(isUpload),extToken:Main.direct.getSecurityToken()};Ext.apply(t,{form:Ext.getDom(form),isUpload:isUpload,params:callback&&Ext.isObject(callback.params)?Ext.apply(params,callback.params):params});this.fireEvent("call",this,t,m);this.processForm(t)}}}); Main.init_application_core=function(){window.onerror=defaultErrorHandler;Main.config={};Ext.getBody().mask("\u0421\u043e\u0435\u0434\u0438\u043d\u044f\u0435\u043c\u0441\u044f \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c","x-mask-loading");Ext.Ajax.request({url:"/api.php",method:"GET",success:function(resp){Ext.getBody().unmask();Main.modules=[];var obj=Ext.decode(resp.responseText);if(obj.success&&(obj.api_data||obj.modules)){for(var i in obj.modules)if(obj.modules[i].type){var id=Ext.id(); obj.modules[i].id=id;Ext.Direct.addProvider(obj.modules[i]);Main.modules.push(obj.modules[i].namespace);Ext.Direct.getProvider(id).on("data",Main.direct.postData);Ext.Direct.getProvider(id).on("exception",Main.direct.exception)}var dparams={mask:true,wait_text:"\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f..."};performRPCCall(RPC.Index.index,[],dparams,function(resp){if(resp&&resp.session_name)Main.session_name=resp.session_name;if(resp&&resp.auth_token)Main.requestToken=resp.auth_token; var cmp=Ext.get("site-title");if(cmp)cmp.update(resp.site_title||"");cmp=Ext.getCmp("site-copyright");if(cmp)cmp.setText(resp.site_copyright||"");Main.siteTitle=resp.site_title;if(resp.config)Main.initConfig(resp);Main.eds=resp.eds;Main.stage=resp.stage;if(Main.stage=="development"){Ext.getCmp("page-refresher").show();Ext.getCmp("console-toggler").show()}Main.references=resp.references;if(resp.success&&resp.user){Main.user=resp.user;Main.contragent=resp.contragent;Main.notifications=resp.notifications|| [];Main.available_sum=null;Main.updateApis(resp.user)}else{Main.user.role="guest";Main.user.landing="auth/login"}Main.app=new (Ext.extend(Application,{viewport:Main.layout.center_panel,autoRun:false,autoScroll:true,initAcl:Main.init_acl,initRouter:Main.init_router,listeners:{beforeinit:function(app){app.addEvents({"timeoffsetwarn":true,"timeupdated":true,"announcement":true,"available_sum_changed":true,"deposit_changed":true,"getupdate":true,"update_account_info":true,"update_certificate_notification_panel":true})}}})); Main.app.on("rpcerror",function(event){if(!!window["Raven"]&&(isEmpty(event["xhr"])||event["xhr"]["statusText"]!=="communication failure"))Raven.captureMessage("\u041e\u0448\u0438\u0431\u043a\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 RPC \u0437\u0430\u043f\u0440\u043e\u0441\u0430",{extra:event})});Main.app.run();Main.detect_browser_issues();var skip_iteration=true;Main.app.on("timeoffsetwarn",function(diff){diff=Math.round(diff/6E4);var msg="\u041f\u043e\u043f\u0440\u0430\u0432\u044c\u0442\u0435 \u0447\u0430\u0441\u044b \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430 (\u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0447\u0430\u0441\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u044f\u0441\u0430 \u043d\u0430 \u044d\u0442\u0438\u0445 \u0447\u0430\u0441\u0430\u0445), "+ "\u0438\u043d\u0430\u0447\u0435 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u0430\u043c\u0438 \u0441\u0435\u0431\u044f \u0432\u0432\u0435\u0441\u0442\u0438 \u0432 \u0437\u0430\u0431\u043b\u0443\u0436\u0434\u0435\u043d\u0438\u0435 \u0438 \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u0443\u0447\u0435\u0441\u0442\u044c \u0441\u0440\u043e\u043a\u0438, "+"\u0430 \u043f\u0440\u0438 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0431\u043e\u043b\u044c\u0448\u043e\u043c \u0440\u0430\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0438 \u0432\u044b \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430\u0436\u0435 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435!"; Ext.Msg.alert("\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435","\u0427\u0430\u0441\u044b \u0432\u0430\u0448\u0435\u0433\u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0438 \u043e\u0448\u0438\u0431\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043d\u0430 "+ diff+" "+Ext.util.Format.declencionRus(diff,"\u043c\u0438\u043d\u0443\u0442\u0443","\u043c\u0438\u043d\u0443\u0442\u044b","\u043c\u0438\u043d\u0443\u0442")+".<br/>\n"+msg);Main.app.viewport.fireEvent("clock_warning","\u041f\u043e\u0445\u043e\u0436\u0435, \u0447\u0442\u043e \u0447\u0430\u0441\u044b \u0432\u0430\u0448\u0435\u0433\u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f. "+ msg)},Main.app,{once:true});Main.app.on("getupdate",function(){skip_iteration=false;Ext.TaskMgr.stop(Main.pingtask);Ext.TaskMgr.start(Main.pingtask)});Main.app.on("notifications",function(defered){showNotificationsDialog(defered)});Main.app.on("accept_decision",function(id,callback){var decisions=Main.notifications;var filtered=[];callback=callback||false;if(decisions)Ext.each(decisions,function(decision){if(decision.uuid==id)return;filtered.push(decision)});Main.notifications=filtered;Main.app.fireEvent("deposit_changed", Main.contragent);if(callback)callback()});var serverUpdate=function(resp){if(resp&&resp.auth_token)Main.requestToken=resp.auth_token;Main.app.fireEvent("timeupdated",resp.server_time,resp.server_tz);if(!Ext.getCmp("layout_account_data_panel")){Main.layout.north_panel.insert(2,new Application.components.accountDataPanel({id:"layout_account_data_panel"}));Main.layout.north_panel.doLayout()}if(!Main.build||Main.build!=resp.build){Main.app.fireEvent("buildupdated",resp.build,!!Main.build);Main.build= resp.build}if(Main.user.role!=="guest"&&Main.user.id!=resp.user.id){alertWarning("\u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0442\u0430\u043a \u043a\u0430\u043a \u0438\u0441\u0442\u0435\u043a \u0441\u0440\u043e\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441\u0435\u0441\u0441\u0438\u0438. \u0414\u043b\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0432\u043e\u0439\u0434\u0438\u0442\u0435 \u0432 \u043b\u0438\u0447\u043d\u044b\u0439 \u043a\u0430\u0431\u0438\u043d\u0435\u0442.", "\u0421\u0435\u0441\u0441\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438\u0441\u0442\u0435\u043a\u043b\u0430");Main.reloadPrivileges();return}if(resp.contragent){var c=resp.contragent;var deposit_changed=false;var avail_changed=false;if(Main.contragent.available_sum!=c.available_sum){Main.contragent.available_sum=parsePrice(c.available_sum);avail_changed=true}var deposit_fields=["deposit","deposit_blocked","toreturn","available_credit_sum"];for(var i=0;i< deposit_fields.length;i++){var f=deposit_fields[i];var v=parsePrice(c[f])||0;if(Main.contragent[f]!=v){deposit_changed=true;Main.contragent[f]=v}}if(avail_changed||Main.contragent.tariff_validity_period!=c.tariff_validity_period){if(!avail_changed){Main.contragent.tariff_validity_period=c.tariff_validity_period;Main.contragent.tariff_id=c.tariff_id;Main.contragent.tariff_name=c.tariff_name}Main.app.fireEvent("available_sum_changed",Main.contragent.available_sum,Main.contragent.available_credit_sum)}if(deposit_changed)Main.app.fireEvent("deposit_changed", Main.contragent,Main.contragent.available_credit_sum)}};Main.app.viewport.fireEvent("application_ready");if(resp.success)serverUpdate(resp);Main.pingtask={interval:1E3*60*5,run:function(){if(skip_iteration){skip_iteration=false;return}RPC.Index.serverinfo(function(resp){if(resp&&resp.success)serverUpdate(resp)})},scope:Main};Ext.TaskMgr.start(Main.pingtask);window.CryptoApiFactory=new App.Crypto.Factory;window.CryptoApiFactory.init(function(){window.CryptoApiFactory.activateDefaultPlugin(true)}); if(Main.notifications)Main.app.fireEvent("notifications",false)})}else Ext.Msg.alert("\u041e\u0448\u0438\u0431\u043a\u0430","\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0432\u044f\u0437\u044c \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c, \u0441\u0435\u0440\u0432\u0435\u0440 \u0432\u0435\u0440\u043d\u0443\u043b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043e\u0448\u0438\u0431\u043a\u0443: "+obj.msg, Main.init_application_core)},failure:function(){Ext.getBody().unmask();Ext.Msg.alert("\u041e\u0448\u0438\u0431\u043a\u0430","\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0432\u044f\u0437\u044c \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c",Main.init_application_core)}})}; Main.initConfig=function(resp){Ext.apply(Main.config,resp.config);if(!Main.config.warranty_guarantee_type)Main.config.warranty_guarantee_type=Main.config.warranty_guarantee_sum?"sum":"percent";ACCEPTED_FILES=(new Ext.Template(ACCEPTED_FILES)).apply(resp.config);MAX_UPLOAD_SIZE=1024*1024*Number(resp.config.upload_file_size||10);Application.models.Procedure.init(resp.config)}; Main.init_application=function(){var href=window.location.href.split(/\/+/g);href=href[0]+"//"+window.location.href.split(/\/+/g)[1];Ext.Ajax.timeout=6E5;Ext.USE_NATIVE_JSON=true;if(Ext.isIE&&(Ext.isIE8||Ext.isIE7||Ext.isIE6))Ext.USE_NATIVE_JSON=false;Ext.chart.Chart.CHART_URL=href+"/resources/charts.swf";Ext.FlashComponent.EXPRESS_INSTALL_URL=href+"/resources/expressinstall.swf";Ext.MessageBox.minWidth=400;Main.init_application_core()}; Main.detect_browser_issues=function(){var warnings=[];if(!Main.requestToken&&this.session_name&&null===Ext.util.Cookies.get(this.session_name)){clearCookies();warnings.push("\u0423 \u0432\u0430\u0441 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u044b cookies, \u0431\u0435\u0437 \u044d\u0442\u043e\u0433\u043e \u0432\u044b \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435.", "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u0435 cookies \u0438/\u0438\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0441\u0430\u0439\u0442 \u0432 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0435 \u0443\u0437\u043b\u044b!")}var engine=null;if(window.navigator.appName=="Microsoft Internet Explorer"){if(document.documentMode)engine=document.documentMode;else{engine=5;if(document.compatMode)if(document.compatMode=="CSS1Compat")engine=7}if(engine<8)warnings.push("\u0412\u044b \u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435\u0441\u044c \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u043c \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u043c, \u0438\u043b\u0438 \u0432 \u0432\u0430\u0448\u0435\u043c \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0432\u0435\u0431-\u0443\u0437\u043b\u043e\u0432.", '\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438, \u0438\u043b\u0438 <a href="http://windows.microsoft.com/ru-RU/internet-explorer/products/ie/home" target="_blank">\u043e\u0431\u043d\u043e\u0432\u0438\u0442\u0435 Internet Explorer</a> \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u0434\u043e 8\u0439 \u0432\u0435\u0440\u0441\u0438\u0438, \u0432 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0441\u0430\u0439\u0442 \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e.', '\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043d\u0430 <a href="#help/index/id/279" onclick="javascript:redirect_to(\'help/index/id/279\', true);return false;">\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0441\u043f\u0440\u0430\u0432\u043a\u0438</a>.')}if(warnings.length)Ext.Msg.alert("\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435",warnings.join("<br/>\n"))}; Main.updateApis=function(user){if(Ext.isDefined(user.api)){Main.api={};Ext.iterate(user.api,function(resource){var key=[resource.module.toLowerCase(),resource.controller.toLowerCase(),resource.action.toLowerCase()].join("/");Main.api[key]=resource.mode});delete user.api}}; //# sourceMappingURL=app.min.js.map